aboutsummaryrefslogtreecommitdiffstats
path: root/wiretap/snoop.c
diff options
context:
space:
mode:
Diffstat (limited to 'wiretap/snoop.c')
-rw-r--r--wiretap/snoop.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/wiretap/snoop.c b/wiretap/snoop.c
index ec341467ac..dc781fe69e 100644
--- a/wiretap/snoop.c
+++ b/wiretap/snoop.c
@@ -1,6 +1,6 @@
/* snoop.c
*
- * $Id: snoop.c,v 1.65 2003/11/11 20:49:46 guy Exp $
+ * $Id: snoop.c,v 1.66 2003/12/19 22:23:05 guy Exp $
*
* Wiretap Library
* Copyright (c) 1998 by Gilbert Ramirez <gram@alumni.rice.edu>
@@ -435,6 +435,15 @@ static gboolean snoop_read(wtap *wth, int *err, long *data_offset)
*err = WTAP_ERR_BAD_RECORD;
return FALSE;
}
+ if (packet_size > rec_size) {
+ /*
+ * Probably a corrupt capture file.
+ */
+ g_message("snoop: File has %u-byte packet, bigger than record size %u",
+ packet_size, rec_size);
+ *err = WTAP_ERR_BAD_RECORD;
+ return FALSE;
+ }
*data_offset = wth->data_offset;