diff options
author | Mark H Weaver <mhw@netris.org> | 2018-10-14 05:29:52 -0400 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2019-05-23 16:09:45 +0200 |
commit | 00973cbd2efe192b86f4e2363fccae5b75b09b3f (patch) | |
tree | 83f40356a45416f80089d3aa48692161a4eca88e /libguile/debug-malloc.c | |
parent | e6100f64bbab1b2bac085c0ea5250163197df4a9 (diff) | |
download | guile-00973cbd2efe192b86f4e2363fccae5b75b09b3f.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/debug-malloc.c')
0 files changed, 0 insertions, 0 deletions