diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c index eb3c516058f..ce78ac413ef 100644 --- a/src/backend/access/transam/xlog.c +++ b/src/backend/access/transam/xlog.c @@ -5454,7 +5454,7 @@ StartupXLOG(void) /* Copy the valid part of the last block, and zero the rest */ page = &XLogCtl->pages[firstIdx * XLOG_BLCKSZ]; - memcpy(page, endOfRecoveryInfo->lastPage, XLOG_BLCKSZ); + memcpy(page, endOfRecoveryInfo->lastPage, len); memset(page + len, 0, XLOG_BLCKSZ - len); XLogCtl->xlblocks[firstIdx] = endOfRecoveryInfo->lastPageBeginPtr + XLOG_BLCKSZ;