summaryrefslogtreecommitdiff
path: root/libguile/bytevectors.c
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2015-01-22 13:24:30 +0100
committerAndy Wingo <wingo@pobox.com>2015-01-22 13:24:30 +0100
commita5b5cb422e66f77cac34ded42631db6a067323cc (patch)
treef7bd502e20d0d3de3c4bb0fbaf588e1b3f04c42b /libguile/bytevectors.c
parenta51111dd255189bd00eb28547491ee4a9bfa9ca1 (diff)
parent8cf2a7ba7432d68b9a055d29f18117be70375af9 (diff)
downloadguile-a5b5cb422e66f77cac34ded42631db6a067323cc.tar.gz
Merge commit '8cf2a7ba7432d68b9a055d29f18117be70375af9'
Diffstat (limited to 'libguile/bytevectors.c')
-rw-r--r--libguile/bytevectors.c7
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);