func: static CVE_2012_1594_VULN_dissect_ieee80211_common (tvbuff_t * tvb, packet_info * proto_tree * tree, gboolean fixed_length_header, gint gboolean wlan_broken_fc, gboolean gboolean is_ht) guint16 fcf , flags , frame_type_subtype , ctrl_fcf , ctrl_type_subtype ; const guint8 * bssid = NULL ; guint32 addr_type ; fcf = FETCH_FCF ( 0 ); frame_type_subtype = COMPOSE_FRAME_TYPE ( fcf ); switch ( FCF_FRAME_TYPE ( fcf ) )  addr_type = FCF_ADDR_SELECTOR ( fcf ); switch ( addr_type )  bssid = tvb_get_ptr ( tvb , 16 , 6 ); bssid = tvb_get_ptr ( tvb , 10 , 6 ); bssid = tvb_get_ptr ( tvb , 4 , 6 ); bssid = tvb_get_ptr ( tvb , 16 , 6 ); switch ( FCF_FRAME_TYPE ( fcf ) )  if ( DATA_FRAME_IS_NULL ( frame_type_subtype ) )  if ( ! wlan_subdissector )  if ( ! pinfo -> fd -> flags . visited )  retransmit_key key ; memcpy ( key . bssid , bssid , 6 ); memcpy ( key . src , src , 6 ); key . seq_control = 0; result = ( retransmit_key * ) g_hash_table_lookup ( fc_analyse_retransmit_table , & key ); if ( result && result -> seq_control == seq_control )  fnum = result -> fnum; g_hash_table_insert ( fc_first_frame_table , GINT_TO_POINTER ( pinfo -> fd -> num ) , GINT_TO_POINTER ( fnum ) ); if ( ! result )  * result = key; g_hash_table_insert ( fc_analyse_retransmit_table , result , result ); result -> seq_control = seq_control; result -> fnum = pinfo -> fd -> num; item = proto_tree_add_uint ( hdr_tree , hf_ieee80211_fc_analysis_retransmission_frame , tvb , 0 , 0 , fnum ); PROTO_ITEM_SET_GENERATED ( item ); proto_tree_add_uint ( wep_tree , hf_ieee80211_wep_key , tvb , hdr_len + 3 , 1 , key ); proto_tree_add_uint ( wep_tree , hf_ieee80211_wep_key , tvb , hdr_len + 3 , 1 , key ); 