From 920c28ff705aac74f389b4613815b14b9482e497 Mon Sep 17 00:00:00 2001 From: Jiri Vymazal Date: Mon, 21 Jan 2019 10:58:03 +0100 Subject: [PATCH] Added missing free() calls of received journal cursor --- plugins/imjournal/imjournal.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/plugins/imjournal/imjournal.c b/plugins/imjournal/imjournal.c index a85e521003..f5c2be4b6e 100644 --- a/plugins/imjournal/imjournal.c +++ b/plugins/imjournal/imjournal.c @@ -442,8 +437,7 @@ readjournal(void) if (cs.bWorkAroundJournalBug) { /* save journal cursor (at this point we can be sure it is valid) */ - sd_journal_get_cursor(j, &c); - if (c) { + if (!sd_journal_get_cursor(j, &c)) { free(last_cursor); last_cursor = c; } @@ -470,6 +471,7 @@ persistJournalState(void) } } else { int ret; + free(last_cursor); if ((ret = sd_journal_get_cursor(j, &last_cursor))) { LogError(-ret, RS_RET_ERR, "imjournal: sd_journal_get_cursor() failed"); ABORT_FINALIZE(RS_RET_ERR); @@ -630,6 +632,7 @@ loadJournalState(void) iRet = RS_RET_ERR; } } + free(tmp_cursor); } } else { LogError(0, RS_RET_IO_ERROR, "imjournal: " @@ -843,6 +846,7 @@ BEGINfreeCnf free(cs.stateFile); free(cs.usePid); free(cs.dfltTag); + free(last_cursor); statsobj.Destruct(&(statsCounter.stats)); ENDfreeCnf diff --git a/plugins/imjournal/imjournal.c b/plugins/imjournal/imjournal.c index f5c2be4b6e..7225fae1ab 100644 --- a/plugins/imjournal/imjournal.c +++ b/plugins/imjournal/imjournal.c @@ -474,6 +474,7 @@ persistJournalState(void) free(last_cursor); if ((ret = sd_journal_get_cursor(j, &last_cursor))) { LogError(-ret, RS_RET_ERR, "imjournal: sd_journal_get_cursor() failed"); + last_cursor = NULL; ABORT_FINALIZE(RS_RET_ERR); } }