Fix potential integer handling issue in radixtree.h.

Masahiko Sawada <msawada@postgresql.org>

Commit: 80d5d4937c168af46c976feebe24765ad76eb540
Author: Masahiko Sawada <msawada@postgresql.org>
Date: 2024-03-25T03:06:41Z
Releases: 17.0
Fix potential integer handling issue in radixtree.h.

Coverity complained about the integer handling issue; if we start with
an arbitrary non-negative shift value, the loop may decrement it down
to something less than zero before exiting. This commit adds an
assertion to make sure the 'shift' is always 0 after the loop, and
uses 0 as the shift to get the key chunk in the following operation.

Introduced by ee1b30f12.

Reported-by: Tom Lane as per coverity
Reviewed-by: Tom Lane
Discussion: https://postgr.es/m/2089517.1711299216%40sss.pgh.pa.us

Files

PathChange+/−
src/include/lib/radixtree.h modified +2 −1

Discussion