aboutsummaryrefslogtreecommitdiffstats
path: root/wiretap/ngsniffer.c
diff options
context:
space:
mode:
Diffstat (limited to 'wiretap/ngsniffer.c')
-rw-r--r--wiretap/ngsniffer.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/wiretap/ngsniffer.c b/wiretap/ngsniffer.c
index f417ebf08a..995de9b7df 100644
--- a/wiretap/ngsniffer.c
+++ b/wiretap/ngsniffer.c
@@ -579,14 +579,21 @@ ngsniffer_open(wtap *wth, int *err, gchar **err_info)
*/
errno = WTAP_ERR_CANT_READ;
bytes_read = file_read(record_type, 2, wth->fh);
- bytes_read += file_read(record_length, 4, wth->fh);
- if (bytes_read != 6) {
+ if (bytes_read != 2) {
+ *err = file_error(wth->fh, err_info);
+ if (*err != 0)
+ return -1;
+ return 0;
+ }
+ wth->data_offset += 2;
+ 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;
}
- wth->data_offset += 6;
+ wth->data_offset += 4;
type = pletohs(record_type);