summaryrefslogtreecommitdiffstats
path: root/notmuch-dump.c
diff options
context:
space:
mode:
authorRalph Seichter <abbot@monksofcool.net>2019-07-23 22:48:23 +0200
committerDavid Bremner <david@tethera.net>2019-07-23 19:20:18 -0300
commit17806ecc955ce0375146ea1df51eae061a72bef8 (patch)
treef664e4334a716586db819c07f7ce894729419a15 /notmuch-dump.c
parent8de94981677e57343b7b2dfc9e1036730ce708fc (diff)
notmuch-dump.c: Fix output file being closed twice
Fixed: If the output file for a dump was non-writeable, gzclose_w() was called twice on the output file handle, resulting in SIGABRT.
Diffstat (limited to 'notmuch-dump.c')
-rw-r--r--notmuch-dump.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/notmuch-dump.c b/notmuch-dump.c
index 505c1469..65e02639 100644
--- a/notmuch-dump.c
+++ b/notmuch-dump.c
@@ -329,13 +329,15 @@ notmuch_database_dump (notmuch_database_t *notmuch,
}
}
- if (gzclose_w (output) != Z_OK) {
+ ret = gzclose_w (output);
+ if (ret) {
fprintf (stderr, "Error closing %s: %s\n", name_for_error,
gzerror (output, NULL));
ret = EXIT_FAILURE;
output = NULL;
goto DONE;
- }
+ } else
+ output = NULL;
if (output_file_name) {
ret = rename (tempname, output_file_name);