Wireshark-commits: [Wireshark-commits] rev 51918: /trunk/epan/dissectors/ /trunk/epan/dissectors/:
Date: Tue, 10 Sep 2013 06:06:55 GMT
http://anonsvn.wireshark.org/viewvc/viewvc.cgi?view=rev&revision=51918

User: etxrab
Date: 2013/09/09 11:06 PM

Log:
 Freom Dennis:
 
 As I looked into the implementation in epan/dissectors/packet-ieee802a.c, there's a bug in the dissect_ieee802a(). After OUI and PID is parsed, it looks for the customized sub-dissector_table by 
 oui_info = (oui_info_t *)g_hash_table_lookup(oui_info_table, GUINT_TO_POINTER(oui))
 The problem is that the oui is defined as an array (guint8 oui[3]), whose value contains the 3-byte customized OUI. However, here GUINT_TO_POINTER(oui) converts the local array oui's address to the hash table key, instead of the value. That cause the search in the hash table to fail, because the ieee802_add_oui() use the OUI value as the key.
 
 https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9122

Directory: /trunk/epan/dissectors/
  Changes    Path                 Action
  +4 -2      packet-ieee802a.c    Modified