From 1f35f2dd5ace63862ecd819c4d28f8d844720df1 Mon Sep 17 00:00:00 2001 From: antirez Date: Tue, 17 Nov 2015 16:24:23 +0100 Subject: [PATCH] Lua debugger: fix trace command infinite loop. Thanks to Itamar Haber for bug report and test case to reproduce. --- src/scripting.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/scripting.c b/src/scripting.c index 17ad1c48..63b78f4c 100644 --- a/src/scripting.c +++ b/src/scripting.c @@ -2172,11 +2172,12 @@ void ldbTrace(lua_State *lua) { while(lua_getstack(lua,level,&ar)) { lua_getinfo(lua,"Snl",&ar); - if(strstr(ar.short_src,"user_script") == NULL) continue; - ldbLog(sdscatprintf(sdsempty(),"%s %s:", - (level == 0) ? "In" : "From", - ar.name ? ar.name : "top level")); - ldbLogSourceLine(ar.currentline); + if(strstr(ar.short_src,"user_script") != NULL) { + ldbLog(sdscatprintf(sdsempty(),"%s %s:", + (level == 0) ? "In" : "From", + ar.name ? ar.name : "top level")); + ldbLogSourceLine(ar.currentline); + } level++; } if (level == 0) {