On Thu, Apr 4, 2024 at 11:06 AM Nathan Bossart <nathandboss...@gmail.com> wrote: > ../postgresql/src/common/jsonapi.c: In function ‘IsValidJsonNumber’: > ../postgresql/src/common/jsonapi.c:2016:30: error: ‘dummy_lex.inc_state’ may > be used uninitialized in this function [-Werror=maybe-uninitialized] > 2016 | if (lex->incremental && !lex->inc_state->is_last_chunk && > | ~~~^~~~~~~~~~~ > ../postgresql/src/common/jsonapi.c:2020:36: error: ‘dummy_lex.token_start’ > may be used uninitialized in this function [-Werror=maybe-uninitialized] > 2020 | lex->token_start, s - lex->token_start); > | ~~~^~~~~~~~~~~~~
Ah, it hasn't figured out that the incremental path is disabled. Zero-initializing the dummy_lex would be good regardless. > ../postgresql/src/common/jsonapi.c:302:26: error: ‘numeric_error’ may be used > uninitialized in this function [-Werror=maybe-uninitialized] > 302 | return (!numeric_error) && (total_len == dummy_lex.input_length); > | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ For this case, though, I think it'd be good for API consistency if *numeric_error were always set on return, instead of relying on the caller to initialize. --Jacob