Hi, While analyzing a possible use of an uninitialized variable, I checked that *_bt_restore_page* can lead to memory corruption, by not checking the maximum limit of array items which is MaxIndexTuplesPerPage.
It can also generate a dangling pointer by incrementing it beyond the limits it can point to. While there, I promoted a reduction of scope and adaptation of the type of the *len* parameter to match XLogRecGetBlockData function. pass regress check at Windows and check-world at Linux. regards, Ranier Vilela
0001-_bt_restore_page-have-issues-can-lead-a-memory-corru.patch
Description: Binary data