commit edb4427ab7c070a16cb9a23460f68b3fc3c041bb Author: Willy Tarreau Date: Sun May 6 14:50:09 2018 +0200 BUG/MINOR: lua: ensure large proxy IDs can be represented In function hlua_fcn_new_proxy() too small a buffer was passed to snprintf(), resulting in large proxy or listener IDs to make snprintf() fail. It is unlikely to meet this case but let's fix it anyway. This fix must be backported to all stable branches where it applies. (cherry picked from commit 29d698040d6bb56b29c036aeba05f0d52d8ce94b) Signed-off-by: Willy Tarreau diff --git a/src/hlua_fcn.c b/src/hlua_fcn.c index a8d53d45..1df08f85 100644 --- a/src/hlua_fcn.c +++ b/src/hlua_fcn.c @@ -796,7 +796,7 @@ int hlua_fcn_new_proxy(lua_State *L, struct proxy *px) struct server *srv; struct listener *lst; int lid; - char buffer[10]; + char buffer[17]; lua_newtable(L); @@ -836,7 +836,7 @@ int hlua_fcn_new_proxy(lua_State *L, struct proxy *px) if (lst->name) lua_pushstring(L, lst->name); else { - snprintf(buffer, 10, "sock-%d", lid); + snprintf(buffer, sizeof(buffer), "sock-%d", lid); lid++; lua_pushstring(L, buffer); }