commit 3feb702df8b362d3d3a4bdeda48313da1278ebe4
parent c5112f7b156ad2565bad3035c8c4008c3e7716a4
Author: Roberto Ierusalimschy <roberto@inf.puc-rio.br>
Date: Mon, 23 Nov 2015 09:30:55 -0200
ensure argument to 'string.format("%s")' does not contain zeros
Diffstat:
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/lstrlib.c b/lstrlib.c
@@ -1,5 +1,5 @@
/*
-** $Id: lstrlib.c,v 1.236 2015/10/28 17:56:51 roberto Exp roberto $
+** $Id: lstrlib.c,v 1.237 2015/10/29 15:11:41 roberto Exp roberto $
** Standard library for string operations and pattern-matching
** See Copyright Notice in lua.h
*/
@@ -1031,6 +1031,7 @@ static int str_format (lua_State *L) {
case 's': {
size_t l;
const char *s = luaL_tolstring(L, arg, &l);
+ luaL_argcheck(L, l == strlen(s), arg, "string cannot contain zeros");
if (!strchr(form, '.') && l >= 100) {
/* no precision and string is too long to be formatted;
keep original string */