diff options
Diffstat (limited to 'package/lua/lua-bug7-string_format.patch')
| -rw-r--r-- | package/lua/lua-bug7-string_format.patch | 20 | 
1 files changed, 20 insertions, 0 deletions
| diff --git a/package/lua/lua-bug7-string_format.patch b/package/lua/lua-bug7-string_format.patch new file mode 100644 index 000000000..68f31977f --- /dev/null +++ b/package/lua/lua-bug7-string_format.patch @@ -0,0 +1,20 @@ +--- lua-5.1.4.orig/src/lstrlib.c	2008/07/11 17:27:21	1.132.1.4 ++++ lua-5.1.4/src/lstrlib.c	2010/05/14 15:12:53 +@@ -754,6 +754,7 @@ +  +  + static int str_format (lua_State *L) { ++  int top = lua_gettop(L); +   int arg = 1; +   size_t sfl; +   const char *strfrmt = luaL_checklstring(L, arg, &sfl); +@@ -768,7 +769,8 @@ +     else { /* format item */ +       char form[MAX_FORMAT];  /* to store the format (`%...') */ +       char buff[MAX_ITEM];  /* to store the formatted item */ +-      arg++; ++      if (++arg > top) ++        luaL_argerror(L, arg, "no value"); +       strfrmt = scanformat(L, strfrmt, form); +       switch (*strfrmt++) { +         case 'c': { | 
