Skip to content

Commit

Permalink
review based fix
Browse files Browse the repository at this point in the history
  • Loading branch information
KnightMurloc committed Feb 7, 2025
1 parent dbe4522 commit 5c95020
Showing 1 changed file with 8 additions and 7 deletions.
15 changes: 8 additions & 7 deletions src/common/walFilter/versions/recordProcessGPDB7.c
Original file line number Diff line number Diff line change
Expand Up @@ -257,29 +257,30 @@ getRelFileNodes(XLogRecordGPDB7 *const record, PgPageSize pageSize)
}

/* XLogRecordBlockHeader */
uint8 fork_flags;

if (block_id <= maxBlockId)
{
THROW_FMT(FormatError, "out-of-order block_id %" PRIu8, block_id);
}
maxBlockId = block_id;

uint8 fork_flags;
COPY_HEADER_FIELD(fork_flags);
bool has_data = ((fork_flags & BKPBLOCK_HAS_DATA) != 0);

uint16 data_len;

COPY_HEADER_FIELD(data_len);
/* cross-check that the HAS_DATA flag is set iff data_length > 0 */
if (has_data && data_len == 0)
if (fork_flags & BKPBLOCK_HAS_DATA)
{
THROW_FMT(FormatError, "BKPBLOCK_HAS_DATA set, but no data included");
if (data_len == 0)
THROW_FMT(FormatError, "BKPBLOCK_HAS_DATA set, but no data included");
}
if (!has_data && data_len != 0)
else
{
THROW_FMT(FormatError, "BKPBLOCK_HAS_DATA not set, but data length is %" PRIu16, data_len);
if (data_len != 0)
THROW_FMT(FormatError, "BKPBLOCK_HAS_DATA not set, but data length is %" PRIu16, data_len);
}

datatotal += data_len;

if (fork_flags & BKPBLOCK_HAS_IMAGE)
Expand Down

0 comments on commit 5c95020

Please sign in to comment.