From: Bruce Momjian Date: Thu, 16 Dec 1999 01:30:49 +0000 (+0000) Subject: Ethernet MAC addresses (macaddr type) are not compared correctly for X-Git-Tag: REL7_0~1025 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d033e17530e106fbe9de918cb5ddee17a2ab60ec;p=postgresql 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 --- diff --git a/src/backend/utils/adt/mac.c b/src/backend/utils/adt/mac.c index 28fa20057e..02fc1863b6 100644 --- a/src/backend/utils/adt/mac.c +++ b/src/backend/utils/adt/mac.c @@ -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.