From 96d9651ece0aeb4045136c8c4e9f978eb1738334 Mon Sep 17 00:00:00 2001 From: Kim Alvefur Date: Sun, 3 Dec 2017 15:36:20 +0100 Subject: util.crand: Throw an error for sizes smaller than 1 byte --- util-src/crand.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'util-src') diff --git a/util-src/crand.c b/util-src/crand.c index cdc3c211..20871f3e 100644 --- a/util-src/crand.c +++ b/util-src/crand.c @@ -69,7 +69,9 @@ int getrandom(void *buf, size_t buflen, unsigned int flags) { int Lrandom(lua_State *L) { char smallbuf[SMALLBUFSIZ]; char *buf = &smallbuf[0]; - const size_t len = luaL_checkinteger(L, 1); + const lua_Integer l = luaL_checkinteger(L, 1); + const size_t len = l; + luaL_argcheck(L, l >= 0, 1, "must be > 0"); if(len > SMALLBUFSIZ) { buf = lua_newuserdata(L, len); -- cgit v1.2.3