summaryrefslogtreecommitdiff
path: root/libguile/posix.c
diff options
context:
space:
mode:
authorMark H Weaver <mhw@netris.org>2018-10-14 05:29:52 -0400
committerMark H Weaver <mhw@netris.org>2018-10-14 05:37:18 -0400
commit1990aa916382d0afcebd5315a6d6f555949ff654 (patch)
treedbbf60e3713333ab39d5b795f1f0c04d05869404 /libguile/posix.c
parent9448a078b5a35fc49a16d32c0398d5789a863f09 (diff)
downloadguile-1990aa916382d0afcebd5315a6d6f555949ff654.tar.gz
In 'ash' and 'round-ash', handle right shift count of LONG_MIN.
Fixes <https://bugs.gnu.org/21901>. Reported by Zefram <zefram@fysh.org>. * libguile/numbers.c: Add another top-level 'verify' to ensure that LONG_MIN is not a fixnum. (scm_ash, scm_round_ash): Ensure that when the shift count is LONG_MIN, it is not handled via the normal code path, to avoid signed overflow when the shift count is negated. * test-suite/tests/numbers.test: Add tests.
Diffstat (limited to 'libguile/posix.c')
0 files changed, 0 insertions, 0 deletions