diff options
author | Dean Rasheed <dean.a.rasheed@gmail.com> | 2023-11-09 09:50:23 +0000 |
---|---|---|
committer | Dean Rasheed <dean.a.rasheed@gmail.com> | 2023-11-09 09:50:23 +0000 |
commit | 0e3e8fbd3a8b1660b02a5bb032dc1f50e1d66b19 (patch) | |
tree | dd7bb4e35697c78cc4823b45f71641bd23f13fc6 /src/backend/utils/adt/arrayutils.c | |
parent | a7db71ed2787e7dbf2c41473a2b7df2fcb55abd0 (diff) | |
download | postgresql-0e3e8fbd3a8b1660b02a5bb032dc1f50e1d66b19.tar.gz postgresql-0e3e8fbd3a8b1660b02a5bb032dc1f50e1d66b19.zip |
Fix corner-case 64-bit integer subtraction bug on some platforms.
When computing "0 - INT64_MIN", most platforms would report an
overflow error, which is correct. However, platforms without integer
overflow builtins or 128-bit integers would fail to spot the overflow,
and incorrectly return INT64_MIN.
Back-patch to all supported branches.
Patch be me. Thanks to Jian He for initial investigation, and Laurenz
Albe and Tom Lane for review.
Discussion: https://postgr.es/m/CAEZATCUNK-AZSD0jVdgkk0N%3DNcAXBWeAEX-QU9AnJPensikmdQ%40mail.gmail.com
Diffstat (limited to 'src/backend/utils/adt/arrayutils.c')
0 files changed, 0 insertions, 0 deletions