detection of erroneous numeric strings with \0 (such as "1\0")

This commit is contained in:
Roberto Ierusalimschy
2010-12-06 19:08:36 -02:00
parent c79b4a97aa
commit ccc4fc9cf0
4 changed files with 17 additions and 13 deletions

4
lvm.c
View File

@@ -1,5 +1,5 @@
/*
** $Id: lvm.c,v 2.124 2010/10/25 19:01:37 roberto Exp roberto $
** $Id: lvm.c,v 2.125 2010/10/29 17:52:46 roberto Exp roberto $
** Lua virtual machine
** See Copyright Notice in lua.h
*/
@@ -35,7 +35,7 @@
const TValue *luaV_tonumber (const TValue *obj, TValue *n) {
lua_Number num;
if (ttisnumber(obj)) return obj;
if (ttisstring(obj) && luaO_str2d(svalue(obj), &num)) {
if (ttisstring(obj) && luaO_str2d(svalue(obj), tsvalue(obj)->len, &num)) {
setnvalue(n, num);
return n;
}