aboutsummaryrefslogtreecommitdiffstats
path: root/wiretap
diff options
context:
space:
mode:
authorMichael Mann <mmann78@netscape.net>2017-03-12 11:58:54 -0400
committerMichael Mann <mmann78@netscape.net>2017-03-12 16:36:18 +0000
commit845f82e5cdadc76f39ecd350793cd1d09184b183 (patch)
tree47c36662589072dc183bdbbcc907955a037eddc7 /wiretap
parent8e1befc4777431851f7026b059ecf6ce9a518781 (diff)
netscaler: Sanity check record size
Bug: 13478 Change-Id: I6be2972979ff7cabf27e70d236c581d539d6ddac Reviewed-on: https://code.wireshark.org/review/20515 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
Diffstat (limited to 'wiretap')
-rw-r--r--wiretap/netscaler.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/wiretap/netscaler.c b/wiretap/netscaler.c
index 065d8e41a1..aa75ef9a72 100644
--- a/wiretap/netscaler.c
+++ b/wiretap/netscaler.c
@@ -870,6 +870,7 @@ nspm_signature_version(wtap *wth, gchar *nstrace_buf, gint32 len)
guint32 nstrace_buf_offset = nstrace->nstrace_buf_offset;\
guint32 nstrace_buflen = nstrace->nstrace_buflen;\
int bytes_read;\
+ guint32 record_size;\
do\
{\
while (nstrace_buf_offset < nstrace_buflen)\
@@ -886,7 +887,10 @@ nspm_signature_version(wtap *wth, gchar *nstrace_buf, gint32 len)
nstrace_buf_offset = nstrace_buflen;\
break;\
default:\
- nstrace_buf_offset += nspr_getv##ver##recordsize(fp);\
+ record_size = nspr_getv##ver##recordsize(fp);\
+ if (record_size == 0)\
+ return FALSE;\
+ nstrace_buf_offset += record_size;\
}\
}\
nstrace_buf_offset = 0;\