]> The Tcpdump Group git mirrors - tcpdump/commitdiff
Check that bytes exist in the captured data before fetching them.
authorGuy Harris <[email protected]>
Tue, 18 Aug 2009 21:47:13 +0000 (14:47 -0700)
committerGuy Harris <[email protected]>
Tue, 18 Aug 2009 21:47:13 +0000 (14:47 -0700)
print-sip.c

index 48562f8c38bca066ee91b0e8152492e79c53d7c7..c5bc8534daaa784443d8fb45fb430d1173717831 100644 (file)
@@ -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]");
 }