From: Michael Olbrich Date: Fri, 6 Sep 2019 13:04:01 +0000 (+0200) Subject: pstore: fix use after free X-Git-Tag: v244-rc1~322 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=1e19f5ac0d680a63eccae7ef1fc6ce225dca0bbf;p=thirdparty%2Fsystemd.git pstore: fix use after free The memory is still needed in the sd_journal_sendv() after the 'if' block. --- diff --git a/src/pstore/pstore.c b/src/pstore/pstore.c index c760b3e899c..8ffe523830f 100644 --- a/src/pstore/pstore.c +++ b/src/pstore/pstore.c @@ -117,6 +117,7 @@ static int compare_pstore_entries(const void *_a, const void *_b) { static int move_file(PStoreEntry *pe, const char *subdir) { _cleanup_free_ char *ifd_path = NULL, *ofd_path = NULL; + _cleanup_free_ void *field = NULL; const char *suffix, *message; struct iovec iovec[2]; int n_iovec = 0, r; @@ -138,7 +139,6 @@ static int move_file(PStoreEntry *pe, const char *subdir) { iovec[n_iovec++] = IOVEC_MAKE_STRING(message); if (pe->content_size > 0) { - _cleanup_free_ void *field = NULL; size_t field_size; field_size = strlen("FILE=") + pe->content_size;