Re: [PATCH] bms_prev_member() can read beyond the end of the array of allocated words

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: David Rowley <dgrowleyml@gmail.com>
Cc: Greg Burd <greg@burd.me>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2025-08-14T14:06:40Z
Lists: pgsql-hackers
David Rowley <dgrowleyml@gmail.com> writes:
> There's a comment saying:
>  * "prevbit" must NOT be more than one above the highest possible bit that can
>  * be set at the Bitmapset at its current size.
> So looks like it's the fault of the calling code and not an issue with
> bms_prev_member().

Yeah.  But perhaps it'd be reasonable to put in an Assert checking
that?

Grammar nitpick: comment should be more like "set in the Bitmapset".

			regards, tom lane



Commits

  1. Add Asserts to validate prevbit values in bms_prev_member