From: Luca Boccassi Date: Mon, 29 Nov 2021 10:23:49 +0000 (+0000) Subject: coredump: flush accumulating buffer after parsing core file X-Git-Tag: v250-rc1~108^2~10 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=fe165e70cd787806fe0809efc2db45ff0451d645;p=thirdparty%2Fsystemd.git coredump: flush accumulating buffer after parsing core file --- diff --git a/src/coredump/stacktrace.c b/src/coredump/stacktrace.c index 24ea087d382..a74ef41ac9d 100644 --- a/src/coredump/stacktrace.c +++ b/src/coredump/stacktrace.c @@ -326,7 +326,7 @@ static int parse_core(int fd, const char *executable, char **ret, JsonVariant ** .package_metadata = &package_metadata, .modules = &modules, }; - char *buf = NULL; + _cleanup_free_ char *buf = NULL; size_t sz = 0; int r; @@ -379,6 +379,9 @@ static int parse_core(int fd, const char *executable, char **ret, JsonVariant ** goto finish; } + r = fflush_and_check(c.f); + if (r < 0) + goto finish; c.f = safe_fclose(c.f); *ret = TAKE_PTR(buf); @@ -396,8 +399,6 @@ finish: safe_fclose(c.f); - free(buf); - return r; }