diff options
author | Michael Mann <mmann78@netscape.net> | 2017-03-12 11:58:54 -0400 |
---|---|---|
committer | Michael Mann <mmann78@netscape.net> | 2017-03-12 16:36:18 +0000 |
commit | 845f82e5cdadc76f39ecd350793cd1d09184b183 (patch) | |
tree | 47c36662589072dc183bdbbcc907955a037eddc7 /wiretap | |
parent | 8e1befc4777431851f7026b059ecf6ce9a518781 (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.c | 6 |
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;\ |