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