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