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=70eaf0e64c98edbae83a16773c1709ce7eab36d0;hpb=9f6445e34a57c270f013c9416c123e56261553dd;p=elogind.git diff --git a/src/journal/coredumpctl.c b/src/journal/coredumpctl.c index 70eaf0e64..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; } @@ -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;