diff options
author | Ralph Seichter <abbot@monksofcool.net> | 2019-07-23 22:48:23 +0200 |
---|---|---|
committer | David Bremner <david@tethera.net> | 2019-07-23 19:20:18 -0300 |
commit | 17806ecc955ce0375146ea1df51eae061a72bef8 (patch) | |
tree | f664e4334a716586db819c07f7ce894729419a15 /notmuch-dump.c | |
parent | 8de94981677e57343b7b2dfc9e1036730ce708fc (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.c | 6 |
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); |