diff options
Diffstat (limited to 'wiretap/ngsniffer.c')
-rw-r--r-- | wiretap/ngsniffer.c | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/wiretap/ngsniffer.c b/wiretap/ngsniffer.c index cf92b54dff..b0145565b2 100644 --- a/wiretap/ngsniffer.c +++ b/wiretap/ngsniffer.c @@ -589,7 +589,7 @@ ngsniffer_open(wtap *wth, int *err, gchar **err_info) bytes_read = file_read(magic, sizeof magic, wth->fh); if (bytes_read != sizeof magic) { *err = file_error(wth->fh, err_info); - if (*err != 0) + if (*err != 0 && *err != WTAP_ERR_SHORT_READ) return -1; return 0; } @@ -606,16 +606,16 @@ ngsniffer_open(wtap *wth, int *err, gchar **err_info) bytes_read = file_read(record_type, 2, wth->fh); if (bytes_read != 2) { *err = file_error(wth->fh, err_info); - if (*err != 0) - return -1; - return 0; + if (*err == 0) + *err = WTAP_ERR_SHORT_READ; + return -1; } bytes_read = file_read(record_length, 4, wth->fh); if (bytes_read != 4) { *err = file_error(wth->fh, err_info); - if (*err != 0) - return -1; - return 0; + if (*err == 0) + *err = WTAP_ERR_SHORT_READ; + return -1; } type = pletohs(record_type); @@ -630,9 +630,9 @@ ngsniffer_open(wtap *wth, int *err, gchar **err_info) bytes_read = file_read(&version, sizeof version, wth->fh); if (bytes_read != sizeof version) { *err = file_error(wth->fh, err_info); - if (*err != 0) - return -1; - return 0; + if (*err == 0) + *err = WTAP_ERR_SHORT_READ; + return -1; } /* Check the data link type. */ @@ -654,7 +654,6 @@ ngsniffer_open(wtap *wth, int *err, gchar **err_info) /* compressed or uncompressed Sniffer file? */ if (version.format != 1) { wth->file_type = WTAP_FILE_NGSNIFFER_COMPRESSED; - } else { wth->file_type = WTAP_FILE_NGSNIFFER_UNCOMPRESSED; } |