From d5a5c4935769fe95cff6d909948908a2446ba80e Mon Sep 17 00:00:00 2001 From: rick2600 Date: Thu, 14 Apr 2022 16:20:04 -0300 Subject: [PATCH] #951 - fix unchecked count in cfun_buffer_new_filled --- src/core/buffer.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/core/buffer.c b/src/core/buffer.c index 79bde4d5..64ef6c89 100644 --- a/src/core/buffer.c +++ b/src/core/buffer.c @@ -178,12 +178,13 @@ JANET_CORE_FN(cfun_buffer_new_filled, "Returns the new buffer.") { janet_arity(argc, 1, 2); int32_t count = janet_getinteger(argv, 0); + if (count < 0) count = 0; int32_t byte = 0; if (argc == 2) { byte = janet_getinteger(argv, 1) & 0xFF; } JanetBuffer *buffer = janet_buffer(count); - if (buffer->data) + if (buffer->data && count > 0) memset(buffer->data, byte, count); buffer->count = count; return janet_wrap_buffer(buffer);