[PATCH] Reject nonpositive Bloom filter element estimates - Mailing list pgsql-hackers

From CharSyam
Subject [PATCH] Reject nonpositive Bloom filter element estimates
Date
Msg-id CAMrLSE671yN2u4zeo2pnUY2rm=arYfb0rVSr5v+9m9t9vL802w@mail.gmail.com
Whole thread
Responses Re: [PATCH] Reject nonpositive Bloom filter element estimates
List pgsql-hackers
Hi, Hackers.

bloom_create() currently accepts a zero total_elems estimate.  This
causes optimal_k() to divide by zero and then convert infinity to int,
which is undefined behavior.

The attached patch rejects nonpositive estimates before the calculation.
It also performs the bitset size multiplication as unsigned arithmetic
to avoid signed overflow for very large positive estimates, and adds a
regression test for the zero case.

The affected source and test module compile successfully, and
git diff --check passes.

Regards,
DaeMyung Kang

Attachment

pgsql-hackers by date:

Previous
From: Nazir Bilal Yavuz
Date:
Subject: Stabilize and shorten test_checksums/013_rewind test
Next
From: Virender Singla
Date:
Subject: Re: Do we reduce autovacuum_naptime max values