summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2013-07-16 14:45:28 -0400
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2013-07-16 22:41:47 -0400
commit4ad16808c02e3eb6c1ec8500b3d086cc28e9b75a (patch)
tree64d0d5fb4bb0905217ba4e1af3e4958dff64926f
parent248fc619b5e3e24d78f171f95b85916eee7987bd (diff)
journalctl,systemctl: fix tiny memleak
-rw-r--r--src/journal/journalctl.c7
-rw-r--r--src/journal/sd-journal.c2
-rw-r--r--src/shared/logs-show.c7
3 files changed, 13 insertions, 3 deletions
diff --git a/src/journal/journalctl.c b/src/journal/journalctl.c
index 7415abc74f..7099706696 100644
--- a/src/journal/journalctl.c
+++ b/src/journal/journalctl.c
@@ -1408,7 +1408,12 @@ int main(int argc, char *argv[]) {
if (r < 0)
return EXIT_FAILURE;
- log_debug("Journal filter: %s", j->level0 ? journal_make_match_string(j) : "none");
+ if (_unlikely_(log_get_max_level() >= LOG_PRI(LOG_DEBUG))) {
+ _cleanup_free_ char *filter;
+
+ filter = journal_make_match_string(j);
+ log_debug("Journal filter: %s", filter);
+ }
if (arg_field) {
const void *data;
diff --git a/src/journal/sd-journal.c b/src/journal/sd-journal.c
index 81b0c136f5..a83c0c25bf 100644
--- a/src/journal/sd-journal.c
+++ b/src/journal/sd-journal.c
@@ -362,7 +362,7 @@ static char *match_make_string(Match *m) {
bool enclose = false;
if (!m)
- return strdup("");
+ return strdup("none");
if (m->type == MATCH_DISCRETE)
return strndup(m->data, m->size);
diff --git a/src/shared/logs-show.c b/src/shared/logs-show.c
index 8dc11bb7fd..ea4746879b 100644
--- a/src/shared/logs-show.c
+++ b/src/shared/logs-show.c
@@ -1059,7 +1059,12 @@ int show_journal_by_unit(
if (r < 0)
return r;
- log_debug("Journal filter: %s", journal_make_match_string(j));
+ if (_unlikely_(log_get_max_level() >= LOG_PRI(LOG_DEBUG))) {
+ _cleanup_free_ char *filter;
+
+ filter = journal_make_match_string(j);
+ log_debug("Journal filter: %s", filter);
+ }
r = show_journal(f, j, mode, n_columns, not_before, how_many, flags);
if (r < 0)