aboutsummaryrefslogtreecommitdiffstats
path: root/wiretap/dct3trace.c
diff options
context:
space:
mode:
authorGerald Combs <gerald@wireshark.org>2011-02-16 00:42:06 +0000
committerGerald Combs <gerald@wireshark.org>2011-02-16 00:42:06 +0000
commitf3bbbce5e3d97b144178a8013782229b9fafaf2a (patch)
tree77ecd18110c5adba26a128d693d25c90c3fb6212 /wiretap/dct3trace.c
parent4099dfa60348e605513346c847987aec98e059f3 (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.c7
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;
}