decode/vxlan: Delay var init until needed

This commit modifies the var initialization slightly until after
integrity checks have been performed.
pull/6172/head
Jeff Lucovsky 4 years ago committed by Victor Julien
parent 415db83d2d
commit 61fa748e9d

@ -126,10 +126,7 @@ void DecodeVXLANConfig(void)
int DecodeVXLAN(ThreadVars *tv, DecodeThreadVars *dtv, Packet *p,
const uint8_t *pkt, uint32_t len)
{
EthernetHdr *ethh = (EthernetHdr *)(pkt + VXLAN_HEADER_LEN);
uint16_t eth_type;
int decode_tunnel_proto = DECODE_TUNNEL_UNSET;
DEBUG_VALIDATE_BUG_ON(pkt == NULL);
/* Initial packet validation */
if (unlikely(!g_vxlan_enabled))
@ -153,8 +150,11 @@ int DecodeVXLAN(ThreadVars *tv, DecodeThreadVars *dtv, Packet *p,
/* Increment stats counter for VXLAN packets */
StatsIncr(tv, dtv->counter_vxlan);
EthernetHdr *ethh = (EthernetHdr *)(pkt + VXLAN_HEADER_LEN);
int decode_tunnel_proto = DECODE_TUNNEL_UNSET;
/* Look at encapsulated Ethernet frame to get next protocol */
eth_type = SCNtohs(ethh->eth_type);
uint16_t eth_type = SCNtohs(ethh->eth_type);
SCLogDebug("VXLAN ethertype 0x%04x", eth_type);
switch (eth_type) {

Loading…
Cancel
Save