summaryrefslogtreecommitdiff
path: root/print-sip.c
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2009-08-18 14:47:13 -0700
committerGuy Harris <guy@alum.mit.edu>2009-08-18 14:47:13 -0700
commit9da2a96bb5e968223e19bf0a6342d1b9ada1efbc (patch)
tree3bd55de4c147d311f199823b94558d82343f627d /print-sip.c
parenta82daa17d6dee1f96fd0194aaf9ddf1bb6eb769a (diff)
downloadtcpdump-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.c4
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]");
}