diff --git a/src/utils/kjournalprint/main.c b/src/utils/kjournalprint/main.c
index 88ca01b80230e69cba67a0f3c323d29b8e2d32f6..732351177abb64d474954239daab29bc38ef8463 100644
--- a/src/utils/kjournalprint/main.c
+++ b/src/utils/kjournalprint/main.c
@@ -61,12 +61,14 @@ int print_journal(char *path, knot_dname_t *name, uint32_t limit, bool color)
 	journal_t *journal = NULL;
 	int ret = journal_open(&journal, path, ~((size_t)0));
 	if (ret != KNOT_EOK) {
+		free(buff);
 		return ret;
 	}
 
 	// Load changesets from journal.
 	if (journal->qtail == journal->qhead) {
 		journal_close(journal);
+		free(buff);
 		return KNOT_ENOENT;
 	}