From 1f35f2dd5ace63862ecd819c4d28f8d844720df1 Mon Sep 17 00:00:00 2001
From: antirez <antirez@gmail.com>
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 17ad1c481..63b78f4ca 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) {