Piotr Stefaniak <postgres@piotr-stefaniak.me> writes:
> There are two places in parse_func.c where memcmp() conditionally gets a
> NULL as its first argument, which invokes undefined behavior. I guess
> gcc -O2 will make some assumptions based on memcpy's __nonnull attribute.
If I recall that code correctly, the assumption was that if the third
argument is zero then memcmp() must not fetch any bytes (not should not,
but MUST not) and therefore it doesn't matter if we pass a NULL. Are
you seeing any observable problem here, and if so what is it?
regards, tom lane