From 29d698040d6bb56b29c036aeba05f0d52d8ce94b Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Sun, 6 May 2018 14:50:09 +0200 Subject: [PATCH] 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. --- src/hlua_fcn.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/hlua_fcn.c b/src/hlua_fcn.c index 5062a196f..83153c5cd 100644 --- a/src/hlua_fcn.c +++ b/src/hlua_fcn.c @@ -838,7 +838,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); @@ -878,7 +878,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); }