From 1fec2e6063e9157f06ec0b3c9e7555d89d309756 Mon Sep 17 00:00:00 2001 From: Cloud Wu Date: Wed, 3 Jun 2015 09:42:49 +0800 Subject: [PATCH] sep size may greater than buffer node, See Issue #286 --- lualib-src/lua-socket.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lualib-src/lua-socket.c b/lualib-src/lua-socket.c index e12a9c2f..5ac0b359 100644 --- a/lualib-src/lua-socket.c +++ b/lualib-src/lua-socket.c @@ -190,7 +190,10 @@ pop_lstring(lua_State *L, struct socket_buffer *sb, int sz, int skip) { } break; } - luaL_addlstring(&b, current->msg + sb->offset, (sz - skip < bytes) ? sz - skip : bytes); + int real_sz = sz - skip; + if (real_sz > 0) { + luaL_addlstring(&b, current->msg + sb->offset, (real_sz < bytes) ? real_sz : bytes); + } return_free_node(L,2,sb); sz-=bytes; if (sz==0)