From: Maciej Żenczykowski Date: Thu, 25 Jun 2015 09:03:03 +0000 (-0700) Subject: iproute2: misc/ss.c - fix run_ssfilter af_packet when protocol == 0 X-Git-Tag: v4.1.0~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bbd303d183a5638be7feb952b6266a9251bce348;p=thirdparty%2Fiproute2.git iproute2: misc/ss.c - fix run_ssfilter af_packet when protocol == 0 s->local.data is a pointer to a field of a non-NULL struct, and hence cannot be NULL, thus comparing it to 0 is always false, and thus the return is always false. Presumably this was meant to be a check whether s->local.data[0] (which I believe stores af_packet protocol) is 0, ie. ANY. Change-Id: Ia232f5b06ce081e3b2fb6338f1a709cd94e03ae5 Fixes: ss.c:1018:37: error: comparison of array 's->local.data' equal to a null pointer is always false [-Werror,-Wtautological-pointer-compare] return s->lport == 0 && s->local.data == 0; ~~~~~~~~~^~~~ ~ 1 error generated. --- diff --git a/misc/ss.c b/misc/ss.c index 1f4a30f7b..748e6930a 100644 --- a/misc/ss.c +++ b/misc/ss.c @@ -1081,7 +1081,7 @@ static int run_ssfilter(struct ssfilter *f, struct sockstat *s) strspn(p+1, "0123456789abcdef") == 5); } if (s->local.family == AF_PACKET) - return s->lport == 0 && s->local.data == 0; + return s->lport == 0 && s->local.data[0] == 0; if (s->local.family == AF_NETLINK) return s->lport < 0;