Skip to content

Commit 354d9b5

Browse files
tenderwgCommitfest Bot
authored and
Commitfest Bot
committed
Fix unsafe access BufferDescriptors.
1 parent 217919d commit 354d9b5

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

src/backend/storage/buffer/bufmgr.c

+2-1
Original file line numberDiff line numberDiff line change
@@ -3981,10 +3981,10 @@ BufferIsPermanent(Buffer buffer)
39813981
XLogRecPtr
39823982
BufferGetLSNAtomic(Buffer buffer)
39833983
{
3984-
BufferDesc *bufHdr = GetBufferDescriptor(buffer - 1);
39853984
char *page = BufferGetPage(buffer);
39863985
XLogRecPtr lsn;
39873986
uint32 buf_state;
3987+
BufferDesc *bufHdr;
39883988

39893989
/*
39903990
* If we don't need locking for correctness, fastpath out.
@@ -3996,6 +3996,7 @@ BufferGetLSNAtomic(Buffer buffer)
39963996
Assert(BufferIsValid(buffer));
39973997
Assert(BufferIsPinned(buffer));
39983998

3999+
bufHdr = GetBufferDescriptor(buffer - 1);
39994000
buf_state = LockBufHdr(bufHdr);
40004001
lsn = PageGetLSN(page);
40014002
UnlockBufHdr(bufHdr, buf_state);

0 commit comments

Comments
 (0)