1234567891011121314151617181920 |
- --- 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': {
|