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.

(cherry picked from commit 17806ecc95)
This commit is contained in:
Ralph Seichter 2019-07-23 22:48:23 +02:00 committed by David Bremner
parent 8e22514842
commit a11b2f0f2d

View file

@ -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, fprintf (stderr, "Error closing %s: %s\n", name_for_error,
gzerror (output, NULL)); gzerror (output, NULL));
ret = EXIT_FAILURE; ret = EXIT_FAILURE;
output = NULL; output = NULL;
goto DONE; goto DONE;
} } else
output = NULL;
if (output_file_name) { if (output_file_name) {
ret = rename (tempname, output_file_name); ret = rename (tempname, output_file_name);