Mercurial > prosody-hg
comparison util-src/ringbuffer.c @ 10899:8048255ae61e
util.ringbuffer: Prevent creation of buffer with negative size
Previously this would have been (unsigned)-1 which is a large positive
integer.
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Thu, 04 Jun 2020 16:11:08 +0200 |
| parents | c6465fb3c839 |
| children | 5e33926f4b43 |
comparison
equal
deleted
inserted
replaced
| 10898:c6465fb3c839 | 10899:8048255ae61e |
|---|---|
| 195 lua_pushinteger(L, b->alen - b->blen); | 195 lua_pushinteger(L, b->alen - b->blen); |
| 196 return 1; | 196 return 1; |
| 197 } | 197 } |
| 198 | 198 |
| 199 static int rb_new(lua_State *L) { | 199 static int rb_new(lua_State *L) { |
| 200 size_t size = luaL_optinteger(L, 1, sysconf(_SC_PAGESIZE)); | 200 lua_Integer size = luaL_optinteger(L, 1, sysconf(_SC_PAGESIZE)); |
| 201 luaL_argcheck(L, size > 0, 1, "positive integer expected"); | 201 luaL_argcheck(L, size > 0, 1, "positive integer expected"); |
| 202 ringbuffer *b = lua_newuserdata(L, sizeof(ringbuffer) + size); | 202 ringbuffer *b = lua_newuserdata(L, sizeof(ringbuffer) + size); |
| 203 | 203 |
| 204 b->rpos = 0; | 204 b->rpos = 0; |
| 205 b->wpos = 0; | 205 b->wpos = 0; |
