summaryrefslogtreecommitdiff
path: root/wiretap/peektagged.c
diff options
context:
space:
mode:
Diffstat (limited to 'wiretap/peektagged.c')
-rw-r--r--wiretap/peektagged.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/wiretap/peektagged.c b/wiretap/peektagged.c
index ebc7eae53a..98a3cafacb 100644
--- a/wiretap/peektagged.c
+++ b/wiretap/peektagged.c
@@ -187,6 +187,7 @@ static int wtap_file_read_number (wtap *wth, guint32 *num, int *err,
int peektagged_open(wtap *wth, int *err, gchar **err_info)
{
peektagged_section_header_t ap_hdr;
+ int bytes_read;
int ret;
guint32 fileVersion;
guint32 mediaType;
@@ -201,8 +202,13 @@ int peektagged_open(wtap *wth, int *err, gchar **err_info)
#define NUM_PEEKTAGGED_ENCAPS (sizeof peektagged_encap / sizeof peektagged_encap[0])
peektagged_t *peektagged;
- wtap_file_read_unknown_bytes(&ap_hdr, sizeof(ap_hdr), wth->fh, err,
- err_info);
+ bytes_read = file_read(&ap_hdr, (int)sizeof(ap_hdr), wth->fh);
+ if (bytes_read != (int)sizeof(ap_hdr)) {
+ *err = file_error(wth->fh, err_info);
+ if (*err != 0 && *err != WTAP_ERR_SHORT_READ)
+ return -1;
+ return 0;
+ }
if (memcmp (ap_hdr.section_id, "\177ver", sizeof(ap_hdr.section_id)) != 0)
return 0; /* doesn't begin with a "\177ver" section */