Thread: Possible fault with resolve column name (plpgsql)
Hi,
Found by llvm scan build.
Argument with 'nonnull' attribute passed null | pl/plpgsql/src/pl_comp.c | resolve_column_ref |
Proceed?
regards,
Ranier Vilela
Attachment
Ranier Vilela <ranier.vf@gmail.com> writes: > Found by llvm scan build. > Argument with 'nonnull' attribute passed null pl/plpgsql/src/pl_comp.c > resolve_column_ref This is somewhere between pointless and counterproductive. colname won't be used unless the switch has set nnames_field (and the identified number of names matches that). If that logic somehow went wrong, I'd *want* the later strcmp to dump core, not possibly give a false match. regards, tom lane
Em qui., 16 de set. de 2021 às 17:05, Tom Lane <tgl@sss.pgh.pa.us> escreveu:
Ranier Vilela <ranier.vf@gmail.com> writes:
> Found by llvm scan build.
> Argument with 'nonnull' attribute passed null pl/plpgsql/src/pl_comp.c
> resolve_column_ref
This is somewhere between pointless and counterproductive.
Not if you've ever used llvm scan, but it's pretty accurate in identifying what the condition might occur.
colname won't
be used unless the switch has set nnames_field (and the identified number
of names matches that).
22 | Assuming 'nnames' is equal to 'nnames_field' |
If that logic somehow went wrong, I'd *want*
the later strcmp to dump core, not possibly give a false match.
In this case, strcmp will fail silently, without any coredump.
If we have a record, and the field is T_String, always have a true match?
regards,
Ranier Vilela