From dc8e3118f9ff269157bd0e3ddf25df1e65f0f874 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Wed, 26 Mar 2025 11:25:47 -0400 Subject: [PATCH] coredump: make sure we initialize all return parameters on success of save_external_coredump() --- src/coredump/coredump.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/coredump/coredump.c b/src/coredump/coredump.c index cd1adfb9cd..3f6eecbcfa 100644 --- a/src/coredump/coredump.c +++ b/src/coredump/coredump.c @@ -615,9 +615,9 @@ static int save_external_coredump( *ret_filename = TAKE_PTR(fn_compressed); /* compressed */ *ret_node_fd = TAKE_FD(fd_compressed); /* compressed */ - *ret_compressed_size = (uint64_t) st.st_size; /* compressed */ *ret_data_fd = TAKE_FD(fd); *ret_size = uncompressed_size; + *ret_compressed_size = (uint64_t) st.st_size; /* compressed */ *ret_truncated = truncated; tmp_compressed = mfree(tmp_compressed); @@ -642,8 +642,10 @@ static int save_external_coredump( return log_error_errno(errno, "Failed to seek on coredump %s: %m", fn); *ret_filename = TAKE_PTR(fn); + *ret_node_fd = -EBADF; *ret_data_fd = TAKE_FD(fd); *ret_size = (uint64_t) st.st_size; + *ret_compressed_size = UINT64_MAX; *ret_truncated = truncated; return 0;