diff options
author | Gerald Combs <gerald@wireshark.org> | 2011-02-16 00:42:06 +0000 |
---|---|---|
committer | Gerald Combs <gerald@wireshark.org> | 2011-02-16 00:42:06 +0000 |
commit | f3bbbce5e3d97b144178a8013782229b9fafaf2a (patch) | |
tree | 77ecd18110c5adba26a128d693d25c90c3fb6212 /wiretap/dct3trace.c | |
parent | 4099dfa60348e605513346c847987aec98e059f3 (diff) |
Fix a buffer overflow found by the Visual C++ analyzer.
svn path=/trunk/; revision=35953
Diffstat (limited to 'wiretap/dct3trace.c')
-rw-r--r-- | wiretap/dct3trace.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/wiretap/dct3trace.c b/wiretap/dct3trace.c index 4ae39dcfbc..b64c5bc8b4 100644 --- a/wiretap/dct3trace.c +++ b/wiretap/dct3trace.c @@ -392,6 +392,13 @@ static gboolean dct3trace_seek_read (wtap *wth, gint64 seek_off, return FALSE; } + if( buf_len > MAX_PACKET_LEN) + { + *err = WTAP_ERR_BAD_RECORD; + *err_info = g_strdup_printf("dct3trace: record length %d too long", buf_len); + return FALSE; + } + memcpy( pd, buf, buf_len ); return TRUE; } |