journalctl,systemctl: fix tiny memleak

This commit is contained in:
Zbigniew Jędrzejewski-Szmek 2013-07-16 14:45:28 -04:00
parent 248fc619b5
commit 4ad16808c0
3 changed files with 13 additions and 3 deletions

View File

@ -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;

View File

@ -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);

View File

@ -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)