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,
gzerror (output, NULL));
ret = EXIT_FAILURE;
output = NULL;
goto DONE;
}
} else
output = NULL;
if (output_file_name) {
ret = rename (tempname, output_file_name);