From d033e17530e106fbe9de918cb5ddee17a2ab60ec Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Thu, 16 Dec 1999 01:30:49 +0000 Subject: [PATCH] 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 --- src/backend/utils/adt/mac.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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. -- 2.40.0