pgsql: The random selection in function linear() could deliver a value

Lists: pgsql-committers
From: tgl(at)svr1(dot)postgresql(dot)org (Tom Lane)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: The random selection in function linear() could deliver a value
Date: 2005-06-14 14:21:16
Message-ID: 20050614142116.D28C2528BF@svr1.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-committers

Log Message:
-----------
The random selection in function linear() could deliver a value equal to max
if geqo_rand() returns exactly 1.0, resulting in failure due to indexing
off the end of the pool array. Also, since this is using inexact float math,
it seems wise to guard against roundoff error producing values slightly
outside the expected range. Per report from bug(at)zedware(dot)org(dot)

Modified Files:
--------------
pgsql/src/backend/optimizer/geqo:
geqo_selection.c (r1.18 -> r1.19)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/geqo/geqo_selection.c.diff?r1=1.18&r2=1.19)