Thread
-
BUG #19066: postgresql-18.0/src/backend/optimizer/geqo/geqo_ox2.c:86: Array index check in wrong place ?
PG Bug reporting form <noreply@postgresql.org> — 2025-09-26T09:51:09Z
The following bug has been logged on the website: Bug reference: 19066 Logged by: David Binderman Email address: dcb314@hotmail.com PostgreSQL version: 18.0 Operating system: fedora 42 Description: Static analyser cppcheck says: postgresql-18.0/src/backend/optimizer/geqo/geqo_ox2.c:86:22: style: Array index 'j' is used before limits check. [arrayIndexThenCheck] Source code is while ((city_table[j].select_list == -1) && (j < num_gene)) Suggest new source code while ((j < num_gene) && (city_table[j].select_list == -1))
-
Re: BUG #19066: postgresql-18.0/src/backend/optimizer/geqo/geqo_ox2.c:86: Array index check in wrong place ?
Tom Lane <tgl@sss.pgh.pa.us> — 2025-09-26T14:53:26Z
PG Bug reporting form <noreply@postgresql.org> writes: > Static analyser cppcheck says: > postgresql-18.0/src/backend/optimizer/geqo/geqo_ox2.c:86:22: style: Array > index 'j' is used before limits check. [arrayIndexThenCheck] Did your static analyzer not notice that this dead code is not even compiled? I don't have a lot of faith in analyzers that ignore #ifdefs. (It's fair to ask why we haven't removed this code altogether ... laziness I guess, or waiting for something better than GEQO to come along. But expending effort on fixing it is definitely not in the cards.) regards, tom lane