Check XLogRecHasBlockRef() before XLogRecHasBlockImage().
authorJeff Davis <jdavis@postgresql.org>
Fri, 8 Apr 2022 09:30:57 +0000 (02:30 -0700)
committerJeff Davis <jdavis@postgresql.org>
Fri, 8 Apr 2022 09:30:57 +0000 (02:30 -0700)
Trial fix of buildfarm failures on kestrel and tamandua.

src/backend/access/transam/xlogstats.c

index aff3069ecba1bee87b8a2cff5c0b86fa90103b4e..6524a1ad0b939590e6e04ef251ee17fb1399f92a 100644 (file)
@@ -33,6 +33,9 @@ XLogRecGetLen(XLogReaderState *record, uint32 *rec_len,
    *fpi_len = 0;
    for (block_id = 0; block_id <= XLogRecMaxBlockId(record); block_id++)
    {
+       if (!XLogRecHasBlockRef(record, block_id))
+           continue;
+
        if (XLogRecHasBlockImage(record, block_id))
            *fpi_len += XLogRecGetBlock(record, block_id)->bimg_len;
    }