]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
util-logopenfile: log queued events at exit
authorEric Leblond <eric@regit.org>
Fri, 29 May 2015 20:14:22 +0000 (22:14 +0200)
committerVictor Julien <victor@inliniac.net>
Thu, 22 Oct 2015 08:01:05 +0000 (10:01 +0200)
Do a redis query at exit to log possibly existing events.

src/util-logopenfile.c

index 431414fa5bd7a17b2de939f7ed47bf9cd2e64e64..159c57eb52feef71123b3a829d852de5555e148e 100644 (file)
@@ -335,8 +335,17 @@ int SCConfLogReopen(LogFileCtx *log_ctx)
 
 static void SCLogFileCloseRedis(LogFileCtx *log_ctx)
 {
-    if (log_ctx->redis)
+    if (log_ctx->redis) {
+        redisReply *reply;
+        int i;
+        for (i = 0; i < log_ctx->redis_setup.batch_count; i++) {
+            redisGetReply(log_ctx->redis, (void **)&reply);
+            if (reply)
+                freeReplyObject(reply);
+        }
         redisFree(log_ctx->redis);
+        log_ctx->redis = NULL;
+    }
     log_ctx->redis_setup.tried = 0;
     log_ctx->redis_setup.batch_count = 0;
 }