Hi, On 2022-08-24 00:32:53 -0400, Tom Lane wrote: > Andres Freund <and...@anarazel.de> writes: > > On 2022-08-24 00:18:27 -0400, Tom Lane wrote: > >> But if the regression tests are triggering use of uninitialized values, how > >> could we have failed to detect that? Either valgrind or unstable behavior > >> should have found this ages ago. > > > I think it's just different criteria for when to report issues. Valgrind > > reports uninitialized memory only when there's a conditional branch > > depending > > on it or such. Whereas this seems to trigger when passing an uninitialized > > value to a function by value, even if it's then not relied upon. > > If the value is not actually relied on, then it's a false positive.
My understanding is that formally speaking passing an undefined value by value to a function is "relying on it" and undefined behaviour. Hard to believe it'll cause any compiler go haywire and eat the computer, but ... > I don't say we shouldn't fix it, because we routinely jump through > hoops to silence various sorts of functionally-harmless warnings. > But let's be clear about whether there's a real bug here. Yea. Greetings, Andres Freund