summaryrefslogtreecommitdiff
path: root/mergecap.c
diff options
context:
space:
mode:
Diffstat (limited to 'mergecap.c')
-rw-r--r--mergecap.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/mergecap.c b/mergecap.c
index 054fdb4ed4..a317c4a307 100644
--- a/mergecap.c
+++ b/mergecap.c
@@ -468,11 +468,18 @@ main(int argc, char *argv[])
}
merge_close_in_files(in_file_count, in_files);
- if (!got_read_error && !got_write_error) {
+ if (!got_write_error) {
if (!wtap_dump_close(pdh, &write_err))
got_write_error = TRUE;
- } else
- wtap_dump_close(pdh, &close_err);
+ } else {
+ /*
+ * We already got a write error; no need to report another
+ * write error on close.
+ *
+ * Don't overwrite the earlier write error.
+ */
+ (void)wtap_dump_close(pdh, &close_err);
+ }
if (got_read_error) {
/*