From 082aca9ec2854f8e25730c37411685f51a6277de Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sun, 10 Feb 2008 20:39:08 +0000 Subject: [PATCH] Fix PageGetExactFreeSpace() so that it actually behaves sensibly if pd_lower > pd_upper, rather than merely claiming to. This would only matter if the page header were corrupt, which shouldn't occur, but ... --- src/backend/storage/page/bufpage.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/backend/storage/page/bufpage.c b/src/backend/storage/page/bufpage.c index 32b80c182f..ad1c8c3ed3 100644 --- a/src/backend/storage/page/bufpage.c +++ b/src/backend/storage/page/bufpage.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/storage/page/bufpage.c,v 1.77 2008/01/01 19:45:52 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/storage/page/bufpage.c,v 1.78 2008/02/10 20:39:08 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -489,6 +489,9 @@ PageGetExactFreeSpace(Page page) space = (int) ((PageHeader) page)->pd_upper - (int) ((PageHeader) page)->pd_lower; + if (space < 0) + return 0; + return (Size) space; }