From f4f6caa9b02af8313b3fa0f76f069b614cb98095 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Fri, 8 Oct 2004 01:10:31 +0000 Subject: [PATCH] Do proper testing of CIDR bits against network mask, e.g. don't allow: test=# select '204.248.199.1/31'::cidr; Previous releases erroneously accepted such addresses. WARN IN RELEASE NOTES Kevin Brintnall --- src/backend/utils/adt/network.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/backend/utils/adt/network.c b/src/backend/utils/adt/network.c index ec00f55fe8..dc83d7028c 100644 --- a/src/backend/utils/adt/network.c +++ b/src/backend/utils/adt/network.c @@ -1,7 +1,7 @@ /* * PostgreSQL type definitions for the INET and CIDR types. * - * $PostgreSQL: pgsql/src/backend/utils/adt/network.c,v 1.53 2004/08/29 05:06:49 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/utils/adt/network.c,v 1.54 2004/10/08 01:10:31 momjian Exp $ * * Jon Postel RIP 16 Oct 1998 */ @@ -942,7 +942,7 @@ addressOK(unsigned char *a, int bits, int family) if (bits == maxbits) return true; - byte = (bits + 7) / 8; + byte = bits / 8; nbits = bits % 8; mask = 0xff; if (bits != 0) -- 2.40.0