diff options
author | Andy Wingo <wingo@pobox.com> | 2015-01-22 13:24:30 +0100 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2015-01-22 13:24:30 +0100 |
commit | a5b5cb422e66f77cac34ded42631db6a067323cc (patch) | |
tree | f7bd502e20d0d3de3c4bb0fbaf588e1b3f04c42b /libguile/bytevectors.c | |
parent | a51111dd255189bd00eb28547491ee4a9bfa9ca1 (diff) | |
parent | 8cf2a7ba7432d68b9a055d29f18117be70375af9 (diff) | |
download | guile-a5b5cb422e66f77cac34ded42631db6a067323cc.tar.gz |
Merge commit '8cf2a7ba7432d68b9a055d29f18117be70375af9'
Diffstat (limited to 'libguile/bytevectors.c')
-rw-r--r-- | libguile/bytevectors.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/libguile/bytevectors.c b/libguile/bytevectors.c index 4f18be6ca..41d5b6c85 100644 --- a/libguile/bytevectors.c +++ b/libguile/bytevectors.c @@ -554,9 +554,14 @@ SCM_DEFINE (scm_bytevector_fill_x, "bytevector-fill!", 2, 0, 0, { size_t c_len, i; scm_t_uint8 *c_bv, c_fill; + int value; SCM_VALIDATE_BYTEVECTOR (1, bv); - c_fill = scm_to_int8 (fill); + + value = scm_to_int (fill); + if (SCM_UNLIKELY ((value < -128) || (value > 255))) + scm_out_of_range (FUNC_NAME, fill); + c_fill = (scm_t_uint8) value; c_len = SCM_BYTEVECTOR_LENGTH (bv); c_bv = (scm_t_uint8 *) SCM_BYTEVECTOR_CONTENTS (bv); |