diff options
author | Guy Harris <guy@alum.mit.edu> | 2009-08-18 14:47:13 -0700 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2009-08-18 14:47:13 -0700 |
commit | 9da2a96bb5e968223e19bf0a6342d1b9ada1efbc (patch) | |
tree | 3bd55de4c147d311f199823b94558d82343f627d /print-sip.c | |
parent | a82daa17d6dee1f96fd0194aaf9ddf1bb6eb769a (diff) | |
download | tcpdump-9da2a96bb5e968223e19bf0a6342d1b9ada1efbc.tar.gz |
Check that bytes exist in the captured data before fetching them.
Diffstat (limited to 'print-sip.c')
-rw-r--r-- | print-sip.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/print-sip.c b/print-sip.c index 48562f8c..c5bc8534 100644 --- a/print-sip.c +++ b/print-sip.c @@ -44,6 +44,7 @@ sip_print(register const u_char *pptr, register u_int len) return; for (idx = 0; idx < len; idx++) { + TCHECK2(*(pptr+idx), 2); if (EXTRACT_16BITS(pptr+idx) != 0x0d0a) { /* linefeed ? */ safeputchar(*(pptr+idx)); } else { @@ -57,4 +58,7 @@ sip_print(register const u_char *pptr, register u_int len) print_unknown_data(pptr,"\n\t",len); return; + +trunc: + printf("[|sip]"); } |