X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fjournal%2Fcoredump.c;h=68c353fe833445e9963d46e15a476d173c27a99a;hb=13b84ec7df103ce388910a2b868fe1668c1e27ef;hp=a7d3c34fe4c7881eecbc0a62e617122433e19708;hpb=ca0ceb6f3e7e8ffda57b18c2dfe72dfb9de08f35;p=elogind.git diff --git a/src/journal/coredump.c b/src/journal/coredump.c index a7d3c34fe..68c353fe8 100644 --- a/src/journal/coredump.c +++ b/src/journal/coredump.c @@ -241,7 +241,7 @@ int main(int argc, char* argv[]) { coredump_data = malloc(coredump_bufsize); if (!coredump_data) { r = log_oom(); - goto finish; + goto finalize; } memcpy(coredump_data, "COREDUMP=", 9); @@ -261,12 +261,12 @@ int main(int argc, char* argv[]) { if(coredump_size > COREDUMP_MAX) { log_error("Coredump too large, ignoring"); - goto finish; + goto finalize; } if (!GREEDY_REALLOC(coredump_data, coredump_bufsize, coredump_size + 1)) { r = log_oom(); - goto finish; + goto finalize; } } @@ -274,6 +274,7 @@ int main(int argc, char* argv[]) { iovec[j].iov_len = coredump_size; j++; +finalize: r = sd_journal_sendv(iovec, j); if (r < 0) log_error("Failed to send coredump: %s", strerror(-r));