diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2015-08-25 15:50:37 -0300 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2015-08-25 15:50:37 -0300 |
commit | 502214f8a551cd01d94677f98a40aa51531ef71d (patch) | |
tree | 479ae6561917389acc9d11f00a767c2e40745302 | |
parent | ed19fe766cf833e80236a6aaec63137744f60562 (diff) | |
download | lua-502214f8a551cd01d94677f98a40aa51531ef71d.tar.gz lua-502214f8a551cd01d94677f98a40aa51531ef71d.tar.bz2 lua-502214f8a551cd01d94677f98a40aa51531ef71d.zip |
added assert for NULL pointer in 'lua_pushlstring'
-rw-r--r-- | lapi.c | 7 |
1 files changed, 6 insertions, 1 deletions
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: lapi.c,v 2.252 2015/08/03 19:50:49 roberto Exp roberto $ | 2 | ** $Id: lapi.c,v 2.253 2015/08/03 20:40:26 roberto Exp roberto $ |
3 | ** Lua API | 3 | ** Lua API |
4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
5 | */ | 5 | */ |
@@ -471,10 +471,15 @@ LUA_API void lua_pushinteger (lua_State *L, lua_Integer n) { | |||
471 | } | 471 | } |
472 | 472 | ||
473 | 473 | ||
474 | /* | ||
475 | ** Pushes on the stack a string with given length. Even when 'len' == 0, | ||
476 | ** 's' cannot be NULL due to later use of 'memcmp' and 'memcpy'. | ||
477 | */ | ||
474 | LUA_API const char *lua_pushlstring (lua_State *L, const char *s, size_t len) { | 478 | LUA_API const char *lua_pushlstring (lua_State *L, const char *s, size_t len) { |
475 | TString *ts; | 479 | TString *ts; |
476 | lua_lock(L); | 480 | lua_lock(L); |
477 | luaC_checkGC(L); | 481 | luaC_checkGC(L); |
482 | api_check(L, s != NULL, "pointer cannot be NULL"); | ||
478 | ts = luaS_newlstr(L, s, len); | 483 | ts = luaS_newlstr(L, s, len); |
479 | setsvalue2s(L, L->top, ts); | 484 | setsvalue2s(L, L->top, ts); |
480 | api_incr_top(L); | 485 | api_incr_top(L); |