Re: [PATCH] bms_prev_member() can read beyond the end of the array of allocated words
Greg Burd <greg@burd.me>
From: Greg Burd <greg@burd.me>
To: David Rowley <dgrowleyml@gmail.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, PostgreSQL Hackers
<pgsql-hackers@lists.postgresql.org>
Date: 2025-08-14T15:58:26Z
Lists: pgsql-hackers
Attachments
- v5-0001-Prevent-bms_prev_member-from-reading-beyond-the-e.patch (application/octet-stream) patch v5-0001
On Aug 14 2025, at 11:49 am, David Rowley <dgrowleyml@gmail.com> wrote: > On Fri, 15 Aug 2025 at 03:43, Greg Burd <greg@burd.me> wrote: >> Well, that was rushed. Apologies. > > Would you be ok with adding the Assert after the "a == NULL" check?, i.e: > > if (a == NULL || prevbit == 0) > return -2; > > /* Validate callers didn't give us something out of range */ > Assert(prevbit <= a->nwords * BITS_PER_BITMAPWORD); > > David Good thinking, less contorted logic and a more obvious check for NULL and the result to expect in that case. -greg
Commits
-
Add Asserts to validate prevbit values in bms_prev_member
- b4632883d44e 19 (unreleased) landed