summaryrefslogtreecommitdiff
path: root/wiretap/ngsniffer.c
diff options
context:
space:
mode:
Diffstat (limited to 'wiretap/ngsniffer.c')
-rw-r--r--wiretap/ngsniffer.c21
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;
}