diff options
author | Guy Harris <guy@alum.mit.edu> | 2014-12-17 20:03:47 -0800 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2014-12-18 04:04:19 +0000 |
commit | 0885d2945103236f7f475963f66048291f0b18f1 (patch) | |
tree | 2c165dd89f97ee9cc33d39f9b7a62840e0ab269b /capinfos.c | |
parent | 6011a047d3cd2aba84e7fdd3bf7e8403a2f3563b (diff) | |
download | wireshark-0885d2945103236f7f475963f66048291f0b18f1.tar.gz wireshark-0885d2945103236f7f475963f66048291f0b18f1.tar.bz2 wireshark-0885d2945103236f7f475963f66048291f0b18f1.zip |
Make sure err_info is always set, and print it iff it's non-null.
Change-Id: Ib5c600c491a3d8adcfa91c00fa9445283610545b
Reviewed-on: https://code.wireshark.org/review/5830
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Diffstat (limited to 'capinfos.c')
-rw-r--r-- | capinfos.c | 30 |
1 files changed, 10 insertions, 20 deletions
diff --git a/capinfos.c b/capinfos.c index 785818741d..59056267a1 100644 --- a/capinfos.c +++ b/capinfos.c @@ -896,22 +896,17 @@ process_cap_file(wtap *wth, const char *filename) fprintf(stderr, "capinfos: An error occurred after reading %u packets from \"%s\": %s.\n", packet, filename, wtap_strerror(err)); - switch (err) { - - case WTAP_ERR_SHORT_READ: + if (err == WTAP_ERR_SHORT_READ) { + /* Don't give up completely with this one. */ status = 1; fprintf(stderr, " (will continue anyway, checksums might be incorrect)\n"); - break; - - case WTAP_ERR_UNSUPPORTED: - case WTAP_ERR_BAD_FILE: - case WTAP_ERR_DECOMPRESS: - fprintf(stderr, "(%s)\n", err_info); - g_free(err_info); - /* fallthrough */ + } else { + if (err_info != NULL) { + fprintf(stderr, "(%s)\n", err_info); + g_free(err_info); + } - default: g_free(cf_info.encap_counts); return 1; } @@ -1481,14 +1476,9 @@ main(int argc, char *argv[]) if (!wth) { fprintf(stderr, "capinfos: Can't open %s: %s\n", argv[opt], wtap_strerror(err)); - switch (err) { - - case WTAP_ERR_UNSUPPORTED: - case WTAP_ERR_BAD_FILE: - case WTAP_ERR_DECOMPRESS: - fprintf(stderr, "(%s)\n", err_info); - g_free(err_info); - break; + if (err_info != NULL) { + fprintf(stderr, "(%s)\n", err_info); + g_free(err_info); } overall_error_status = 1; /* remember that an error has occurred */ if (!continue_after_wtap_open_offline_failure) |