On Wed, Dec 08, 2021 at 11:50:16AM +0100, Han-Wen Nienhuys wrote: > > Summary is below, but I'm not sure it's that useful without the whole > > code flow. The unreachable-code one seems just wrong. We can get there > > via the "goto done" in the BLOCK_TYPE_LOG conditional, it looks like. > > they're all valid. There is a shadowed variable in the unreachable code one. Ah, good catch. Yes, that is definitely the problem. > > The first FORWARD_NULL doesn't look obvious to me from the code. But it > > triggers a segfault running "test-tool reftable". (It didn't immediately > > for me on Linux, but Windows CI shows it, and compiling with ASan on > > Linux does too). > > yeah, that must be the problem on windows too. The 3rd test case > passes NULL into memcmp() with a 0 length. Ah, makes sense. I didn't look closely, but that would explain perfectly why it fails on some platforms but not others. > I've folded in your patch and fixed the issues. Thanks! -Peff