]> The Tcpdump Group git mirrors - tcpdump/blobdiff - print-resp.c
Makefile.in: don't remove configure and config.h.in in make distclean.
[tcpdump] / print-resp.c
index 244fec58301120fc93cc2d4046aa00c719f15707..37a386e3122c96f501266ef688a21beb75d1e180 100644 (file)
@@ -36,9 +36,6 @@
 #include "netdissect-stdinc.h"
 #include "netdissect.h"
 #include <limits.h>
-#include <string.h>
-#include <stdlib.h>
-#include <errno.h>
 
 #include "extract.h"
 
@@ -59,7 +56,6 @@
 #define resp_print_length_negative(ndo)  ND_PRINT(" length negative and not -1")
 #define resp_print_invalid(ndo)          ND_PRINT(" invalid")
 
-void       resp_print(netdissect_options *, const u_char *, u_int);
 static int resp_parse(netdissect_options *, const u_char *, int);
 static int resp_print_string_error_integer(netdissect_options *, const u_char *, int);
 static int resp_print_simple_string(netdissect_options *, const u_char *, int);
@@ -116,7 +112,6 @@ static int resp_get_length(netdissect_options *, const u_char *, int, const u_ch
 #define FIND_CR_OR_LF(_ptr, _len)           \
     for (;;) {                              \
         LCHECK(_len);                       \
-        ND_TCHECK_1(_ptr);                  \
         if (GET_U_1(_ptr) == '\r' ||        \
             GET_U_1(_ptr) == '\n')          \
             break;                          \
@@ -214,14 +209,12 @@ static int resp_get_length(netdissect_options *, const u_char *, int, const u_ch
 void
 resp_print(netdissect_options *ndo, const u_char *bp, u_int length)
 {
-    int ret_len = 0, length_cur = length;
+    int ret_len = 0;
 
     ndo->ndo_protocol = "resp";
-    if(!bp || length <= 0)
-        return;
 
     ND_PRINT(": RESP");
-    while (length_cur > 0) {
+    while (length > 0) {
         /*
          * This block supports redis pipelining.
          * For example, multiple operations can be pipelined within the same string:
@@ -231,10 +224,10 @@ resp_print(netdissect_options *ndo, const u_char *bp, u_int length)
          * In order to handle this case, we must try and parse 'bp' until
          * 'length' bytes have been processed or we reach a trunc condition.
          */
-        ret_len = resp_parse(ndo, bp, length_cur);
+        ret_len = resp_parse(ndo, bp, length);
         TEST_RET_LEN_NORETURN(ret_len);
         bp += ret_len;
-        length_cur -= ret_len;
+        length -= ret_len;
     }
 
     return;
@@ -250,7 +243,6 @@ resp_parse(netdissect_options *ndo, const u_char *bp, int length)
     int ret_len;
 
     LCHECK2(length, 1);
-    ND_TCHECK_1(bp);
     op = GET_U_1(bp);
 
     /* bp now points to the op, so these routines must skip it */
@@ -467,7 +459,6 @@ resp_get_length(netdissect_options *ndo, const u_char *bp, int len, const u_char
 
     if (len == 0)
         goto trunc;
-    ND_TCHECK_1(bp);
     too_large = 0;
     neg = 0;
     if (GET_U_1(bp) == '-') {
@@ -481,7 +472,6 @@ resp_get_length(netdissect_options *ndo, const u_char *bp, int len, const u_char
     for (;;) {
         if (len == 0)
             goto trunc;
-        ND_TCHECK_1(bp);
         c = GET_U_1(bp);
         if (!(c >= '0' && c <= '9')) {
             if (!saw_digit) {
@@ -519,7 +509,6 @@ resp_get_length(netdissect_options *ndo, const u_char *bp, int len, const u_char
     len--;
     if (len == 0)
         goto trunc;
-    ND_TCHECK_1(bp);
     if (GET_U_1(bp) != '\n') {
         bp++;
         goto invalid;