Fixed bug: line hooks in stripped functions
Line-hook handling was accessing debug info. without checking whether it was present.
This commit is contained in:
4
ldebug.c
4
ldebug.c
@@ -783,11 +783,13 @@ l_noret luaG_runerror (lua_State *L, const char *fmt, ...) {
|
||||
** previous instruction 'oldpc'.
|
||||
*/
|
||||
static int changedline (const Proto *p, int oldpc, int newpc) {
|
||||
if (p->lineinfo == NULL) /* no debug information? */
|
||||
return 0;
|
||||
while (oldpc++ < newpc) {
|
||||
if (p->lineinfo[oldpc] != 0)
|
||||
return (luaG_getfuncline(p, oldpc - 1) != luaG_getfuncline(p, newpc));
|
||||
}
|
||||
return 0; /* no line changes in the way */
|
||||
return 0; /* no line changes between positions */
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user