]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
lua: clear stack after each script run
authorVictor Julien <victor@inliniac.net>
Wed, 4 Dec 2013 12:15:30 +0000 (13:15 +0100)
committerVictor Julien <victor@inliniac.net>
Wed, 4 Dec 2013 14:06:11 +0000 (15:06 +0100)
src/detect-luajit.c

index a88c550bc6f8edcd6c3314240e94e73cadb5ce52..569980dc5896bb9e5d6e959e09ec8b54699573e3 100644 (file)
@@ -321,6 +321,11 @@ int DetectLuajitMatchBuffer(DetectEngineThreadCtx *det_ctx, Signature *s, SigMat
         SCLogDebug("no stack");
     }
 
+    /* clear the stack */
+    while (lua_gettop(tluajit->luastate) > 0) {
+        lua_pop(tluajit->luastate, 1);
+    }
+
     if (luajit->negated) {
         if (ret == 1)
             ret = 0;
@@ -457,6 +462,9 @@ static int DetectLuajitMatch (ThreadVars *tv, DetectEngineThreadCtx *det_ctx,
             lua_pop(tluajit->luastate, 1);
         }
     }
+    while (lua_gettop(tluajit->luastate) > 0) {
+        lua_pop(tluajit->luastate, 1);
+    }
 
     if (luajit->negated) {
         if (ret == 1)