]> The Tcpdump Group git mirrors - tcpdump/commitdiff
From Noritoshi Demizu: memcmp() returns a value = 0 if the two memory
authorguy <guy>
Sun, 16 Oct 2005 06:05:03 +0000 (06:05 +0000)
committerguy <guy>
Sun, 16 Oct 2005 06:05:03 +0000 (06:05 +0000)
regions are =, < 0 if the first memory region is < the second, or > 0 if
the first memory region is > the second, so to check whether two memory
regions are equal, check whether memcmp()'s return value is == 0.

print-tcp.c

index 6f5d433d19a9ca6789dd62cfd568bed46957b4dd..4fffc7a2fc7ab1d0a3b591da36f47f5bea8f6743 100644 (file)
@@ -23,7 +23,7 @@
 
 #ifndef lint
 static const char rcsid[] _U_ =
-    "@(#) $Header: /tcpdump/master/tcpdump/print-tcp.c,v 1.122 2005-04-21 06:35:52 guy Exp $ (LBL)";
+    "@(#) $Header: /tcpdump/master/tcpdump/print-tcp.c,v 1.123 2005-10-16 06:05:03 guy Exp $ (LBL)";
 #endif
 
 #ifdef HAVE_CONFIG_H
@@ -799,7 +799,7 @@ tcp_verify_signature(const struct ip *ip, const struct tcphdr *tp,
        MD5_Update(&ctx, tcpmd5secret, strlen(tcpmd5secret));
        MD5_Final(sig, &ctx);
 
-       if (memcmp(rcvsig, sig, 16))
+       if (memcmp(rcvsig, sig, TCP_SIGLEN) == 0)
                return (SIGNATURE_VALID);
        else
                return (SIGNATURE_INVALID);