37 lines
1.3 KiB
Diff
37 lines
1.3 KiB
Diff
|
From 58000dc7dd93ff6e8357de64154b0849d3c17c5d Mon Sep 17 00:00:00 2001
|
||
|
From: Yu Watanabe <watanabe.yu+github@gmail.com>
|
||
|
Date: Mon, 22 Jul 2019 11:01:43 +0900
|
||
|
Subject: [PATCH] pstore: remove temporary file on failure
|
||
|
|
||
|
(cherry picked from commit 03c5f6cc02648eeff3179b2b762d46b9e1889bb1)
|
||
|
|
||
|
Related: #2158832
|
||
|
---
|
||
|
src/pstore/pstore.c | 6 +++---
|
||
|
1 file changed, 3 insertions(+), 3 deletions(-)
|
||
|
|
||
|
diff --git a/src/pstore/pstore.c b/src/pstore/pstore.c
|
||
|
index 2fbef48543..ce8080ceed 100644
|
||
|
--- a/src/pstore/pstore.c
|
||
|
+++ b/src/pstore/pstore.c
|
||
|
@@ -167,8 +167,8 @@ static int move_file(PStoreEntry *pe, const char *subdir) {
|
||
|
}
|
||
|
|
||
|
static int write_dmesg(const char *dmesg, size_t size, const char *id) {
|
||
|
- _cleanup_(unlink_and_freep) char *ofd_path = NULL;
|
||
|
- _cleanup_free_ char *tmp_path = NULL;
|
||
|
+ _cleanup_(unlink_and_freep) char *tmp_path = NULL;
|
||
|
+ _cleanup_free_ char *ofd_path = NULL;
|
||
|
_cleanup_close_ int ofd = -1;
|
||
|
ssize_t wr;
|
||
|
int r;
|
||
|
@@ -193,7 +193,7 @@ static int write_dmesg(const char *dmesg, size_t size, const char *id) {
|
||
|
r = link_tmpfile(ofd, tmp_path, ofd_path);
|
||
|
if (r < 0)
|
||
|
return log_error_errno(r, "Failed to write temporary file %s: %m", ofd_path);
|
||
|
- ofd_path = mfree(ofd_path);
|
||
|
+ tmp_path = mfree(tmp_path);
|
||
|
|
||
|
return 0;
|
||
|
}
|