diff --git a/src/include/storage/bufpage.h b/src/include/storage/bufpage.h
index c2fbffc8e9b72c71addab4a4ad028792d38c70a8..a2f78ee56ce9e8c045b0a6b3bfd639a92fa8959d 100644
--- a/src/include/storage/bufpage.h
+++ b/src/include/storage/bufpage.h
@@ -304,6 +304,8 @@ typedef PageHeaderData *PageHeader;
 #define PageGetSpecialPointer(page) \
 ( \
 	AssertMacro(PageIsValid(page)), \
+	AssertMacro(((PageHeader) (page))->pd_special <= BLCKSZ), \
+	AssertMacro(((PageHeader) (page))->pd_special >= SizeOfPageHeaderData), \
 	(char *) ((char *) (page) + ((PageHeader) (page))->pd_special) \
 )