mirror of
https://github.com/lua/lua.git
synced 2025-01-14 05:43:00 +08:00
Roberto Ierusalimschy
34affe7a63
Fixed bug: 'luaD_callnoyield' called twice in a row
In luaD_callnoyield, when there is a possible stack overflow, it zeros the number of CallInfos to force a check when calling the function. However, if the "function" is not a function, the code will raise an error before checking the stack. Then, the error handling calls luaD_callnoyield again and nCcalls is decremented again, crossing the stack redzone without raising an error. (This loop can only happens once, because the error handler must be a function. But once is enough to cross the redzone.)
Description
No description provided
Languages
C
67.4%
Lua
32%
Makefile
0.6%