manuf: Mask out broadcast flag
This commit is contained in:
parent
0ebe3bc0d4
commit
b3e09c65d3
|
@ -1702,12 +1702,8 @@ manuf_name_lookup(const guint8 *addr)
|
|||
}
|
||||
|
||||
/* Try the global manuf tables. */
|
||||
uint8_t addr_copy[6];
|
||||
memcpy(addr_copy, addr, 6);
|
||||
/* Mask out the broadcast/multicast flag */
|
||||
addr_copy[0] &= 0xFE;
|
||||
struct ws_manuf manuf;
|
||||
if (global_manuf_lookup(addr_copy, &manuf) != NULL) {
|
||||
if (global_manuf_lookup(addr, &manuf) != NULL) {
|
||||
/* Found it */
|
||||
return manuf_hash_new_entry(addr, manuf.short_name, manuf.long_name);
|
||||
}
|
||||
|
|
13
epan/manuf.c
13
epan/manuf.c
|
@ -98,15 +98,20 @@ global_manuf_lookup(const uint8_t addr[6], struct ws_manuf *result)
|
|||
{
|
||||
memset(result, 0, sizeof(*result));
|
||||
|
||||
switch (select_registry(addr)) {
|
||||
uint8_t addr_copy[6];
|
||||
memcpy(addr_copy, addr, 6);
|
||||
/* Mask out the broadcast/multicast flag */
|
||||
addr_copy[0] &= 0xFE;
|
||||
|
||||
switch (select_registry(addr_copy)) {
|
||||
case MA_L:
|
||||
return manuf_oui24_lookup(addr, result);
|
||||
return manuf_oui24_lookup(addr_copy, result);
|
||||
break;
|
||||
case MA_M:
|
||||
return manuf_oui28_lookup(addr, result);
|
||||
return manuf_oui28_lookup(addr_copy, result);
|
||||
break;
|
||||
case MA_S:
|
||||
return manuf_oui36_lookup(addr, result);
|
||||
return manuf_oui36_lookup(addr_copy, result);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
|
Loading…
Reference in New Issue