Skip to content

Commit 62d0f5f

Browse files
committed
Fix bug with page compression
1 parent 3769efd commit 62d0f5f

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

src/data.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -368,7 +368,7 @@ compress_and_backup_page(pgFile *file, BlockNumber blknum,
368368
BackupPageHeader header;
369369
size_t write_buffer_size = sizeof(header);
370370
char write_buffer[BLCKSZ+sizeof(header)];
371-
char compressed_page[BLCKSZ];
371+
char compressed_page[BLCKSZ*2]; /* compressed page may require more space than uncompressed */
372372

373373
if(page_state == SkipCurrentPage)
374374
return;
@@ -395,7 +395,7 @@ compress_and_backup_page(pgFile *file, BlockNumber blknum,
395395
Assert (header.compressed_size <= BLCKSZ);
396396

397397
/* The page was successfully compressed. */
398-
if (header.compressed_size > 0)
398+
if (header.compressed_size > 0 && header.compressed_size < BLCKSZ)
399399
{
400400
memcpy(write_buffer, &header, sizeof(header));
401401
memcpy(write_buffer + sizeof(header),

0 commit comments

Comments
 (0)