diff options
author | Guy Harris <guy@alum.mit.edu> | 2003-12-19 22:23:05 +0000 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2003-12-19 22:23:05 +0000 |
commit | 8b0f0d5b7eab12de9c1549524d2e024e5134acd2 (patch) | |
tree | bcea7c174297d99887e29dff3ffe397a899608a7 /wiretap/snoop.c | |
parent | 21a6fddb35b84a2ff316a32d7ba9075743b005b8 (diff) | |
download | wireshark-8b0f0d5b7eab12de9c1549524d2e024e5134acd2.tar.gz wireshark-8b0f0d5b7eab12de9c1549524d2e024e5134acd2.tar.bz2 wireshark-8b0f0d5b7eab12de9c1549524d2e024e5134acd2.zip |
Add some additional sanity checking.
svn path=/trunk/; revision=9360
Diffstat (limited to 'wiretap/snoop.c')
-rw-r--r-- | wiretap/snoop.c | 11 |
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; |