diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c index 94d034970b5..d06bc1dd270 100644 --- a/src/backend/commands/repack_worker.c +++ b/src/backend/commands/repack_worker.c @@ -342,8 +342,8 @@ export_initial_snapshot(Snapshot snapshot, DecodingWorkerShared *shared) /* To make restoration easier, write the snapshot size first. */ BufFileWrite(file, &snap_size, sizeof(snap_size)); BufFileWrite(file, snap_space, snap_size); - pfree(snap_space); BufFileClose(file); + pfree(snap_space); /* Increase the counter to tell the backend that the file is available. */ SpinLockAcquire(&shared->mutex); diff --git a/src/backend/utils/time/snapmgr.c b/src/backend/utils/time/snapmgr.c index 2e6197f5f35..10fe18df2e7 100644 --- a/src/backend/utils/time/snapmgr.c +++ b/src/backend/utils/time/snapmgr.c @@ -1735,7 +1735,7 @@ EstimateSnapshotSpace(Snapshot snapshot) void SerializeSnapshot(Snapshot snapshot, char *start_address) { - SerializedSnapshotData serialized_snapshot; + SerializedSnapshotData serialized_snapshot = {0}; Assert(snapshot->subxcnt >= 0);