X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fjournal%2Fcoredumpctl.c;h=3bceb48ff731351afb2dff3c9d9d675ad4da44e6;hb=0a1b6da82109c3b08b1f966a1625a77cc312135a;hp=ec65ff5221543f5673771f05a2afc1bb659830b2;hpb=f5f6d0e25574dd63fb605b81fa7767dd71c454db;p=elogind.git diff --git a/src/journal/coredumpctl.c b/src/journal/coredumpctl.c index ec65ff522..3bceb48ff 100644 --- a/src/journal/coredumpctl.c +++ b/src/journal/coredumpctl.c @@ -126,10 +126,11 @@ static int add_match(Set *set, const char *match) { goto fail; log_debug("Adding pattern: %s", pattern); - r = set_consume(set, pattern); + r = set_put(set, pattern); if (r < 0) { log_error("Failed to add pattern '%s': %s", pattern, strerror(-r)); + free(pattern); goto fail; } @@ -214,7 +215,7 @@ static int parse_argv(int argc, char *argv[], Set *matches) { if (optind < argc) { const char *cmd = argv[optind++]; - if(streq(cmd, "list")) + if (streq(cmd, "list")) arg_action = ACTION_LIST; else if (streq(cmd, "dump")) arg_action = ACTION_DUMP; @@ -416,7 +417,7 @@ static int dump_core(sd_journal* j) { r = sd_journal_previous(j); if (r >= 0) - log_warning("More than one entry matches, ignoring rest.\n"); + log_warning("More than one entry matches, ignoring rest."); return 0; } @@ -471,7 +472,7 @@ static int run_gdb(sd_journal *j) { data = (const uint8_t*) data + 9; len -= 9; - fd = mkostemp(path, O_WRONLY); + fd = mkostemp_safe(path, O_WRONLY|O_CLOEXEC); if (fd < 0) { log_error("Failed to create temporary file: %m"); return -errno;