[pgsql-jp: 31850] Re: PostgreSQL7.4 の cidr について

ohtani miyuki ohtani @ nextech.co.jp
2003年 12月 22日 (月) 16:37:52 JST


おおたにと申します。

in <3FE54E92.2090206 @ pjam.jpweb.net>
  at Sun, 21 Dec 2003 16:41:06 +0900,
  ISHIDA Akio <iakio @ pjam.jpweb.net> wrote.

> 7.3 あたりでも ERROR になりますね。7.4 のバグのような気がします。

むむ。

> --- src/backend/utils/adt/network.c.org Mon Sep 29 09:05:25 2003
> +++ src/backend/utils/adt/network.c     Sun Dec 21 13:26:34 2003
> @@ -929,7 +929,7 @@
>         if (bits == maxbits)
>                 return true;
> 
> -       byte = (bits + 7) / 8;
> +       byte = bits / 8;
>         nbits = bits % 8;
>         mask = 0xff;
>         if (bits != 0)
> 
> が正解だと思うのですが。

ありがとうございます。
上記の修正を行ってPostgreSQL 7.4 を install しなおしてみました。
すると、

test=# select '192.168.100.128/20'::CIDR;
ERROR:  invalid cidr value: "192.168.100.128/20"
DETAIL:  Value has bits set to right of mask.

となりました。
/24 までは同様で /25 で

test=# select '192.168.100.128/25'::CIDR;
        cidr
--------------------
 192.168.100.128/25
(1 row)

となりました。

> 誰か検証と本家へ報告お願いできませんか?

上記が検証として充分である自信も、正しく報告できる自信も
大変申し訳ないことにわたしにはありませんので、
わたしからもどなたかにお願いしてよろしいでしょうか...。
すみませんです。(_o_)
--
おおたに みゆき <ohtani @ nextech.co.jp>



pgsql-jp メーリングリストの案内