summaryrefslogtreecommitdiff
path: root/src/backend/access/gist
diff options
context:
space:
mode:
authorThomas Munro2023-09-25 20:07:26 +0000
committerThomas Munro2023-09-25 21:53:52 +0000
commit10d0591ea2274e5a471a1a489f7714303b88c329 (patch)
tree73b5ad97bbf9bcab17d2eff2ea2d6d8e559d8e15 /src/backend/access/gist
parent881defde944c07d821d9658b1943d5ad5ef5bf37 (diff)
Fix edge-case for xl_tot_len broken by bae868ca.
bae868ca removed a check that was still needed. If you had an xl_tot_len at the end of a page that was too small for a record header, but not big enough to span onto the next page, we'd immediately perform the CRC check using a bogus large length. Because of arbitrary coding differences between the CRC implementations on different platforms, nothing very bad happened on common modern systems. On systems using the _sb8.c fallback we could segfault. Restore that check, add a new assertion and supply a test for that case. Back-patch to 12, like bae868ca. Tested-by: Tom Lane <[email protected]> Tested-by: Alexander Lakhin <[email protected]> Discussion: https://postgr.es/m/CA%2BhUKGLCkTT7zYjzOxuLGahBdQ%3DMcF%3Dz5ZvrjSOnW4EDhVjT-g%40mail.gmail.com
Diffstat (limited to 'src/backend/access/gist')
0 files changed, 0 insertions, 0 deletions