Ethernet MAC addresses (macaddr type) are not compared correctly for
equality. The lobits macro is wrong and extracts the wrong set of bits out of the structure. To exhibit the problem: select '000000:000000'::macaddr = '000000:110000'::macaddr ; ?column? -------- t (1 row) Daniel Boyd
This commit is contained in:
parent
7585deb087
commit
d033e17530
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* PostgreSQL type definitions for MAC addresses.
|
||||
*
|
||||
* $Id: mac.c,v 1.13 1999/07/17 20:17:57 momjian Exp $
|
||||
* $Id: mac.c,v 1.14 1999/12/16 01:30:49 momjian Exp $
|
||||
*/
|
||||
|
||||
|
||||
@ -132,7 +132,7 @@ manufacturer manufacturers[] = {
|
||||
((unsigned long)((addr->a<<16)|(addr->b<<8)|(addr->c)))
|
||||
|
||||
#define lobits(addr) \
|
||||
((unsigned long)((addr->c<<16)|(addr->e<<8)|(addr->f)))
|
||||
((unsigned long)((addr->d<<16)|(addr->e<<8)|(addr->f)))
|
||||
|
||||
/*
|
||||
* MAC address reader. Accepts several common notations.
|
||||
|
Loading…
x
Reference in New Issue
Block a user