From: Stephen Hemminger Date: Wed, 29 Jun 2011 22:58:37 +0000 (-0700) Subject: ss: check result of readlink X-Git-Tag: v2.6.39~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=18445b3e92ae9c7dd7effe191200d5a1a784388b;p=thirdparty%2Fiproute2.git ss: check result of readlink Don't ignore readlink failure. --- diff --git a/misc/ss.c b/misc/ss.c index 4033e9282..1597ff9c8 100644 --- a/misc/ss.c +++ b/misc/ss.c @@ -272,14 +272,14 @@ static void user_ent_hash_build(void) const char *pattern = "socket:["; unsigned int ino; char lnk[64]; - int fd, n; + int fd; if (sscanf(d1->d_name, "%d%c", &fd, &crap) != 1) continue; sprintf(name+pos, "%d", fd); - n = readlink(name, lnk, sizeof(lnk)-1); - if (strncmp(lnk, pattern, strlen(pattern))) + if (readlink(name, lnk, sizeof(lnk)-1) < 0 || + strncmp(lnk, pattern, strlen(pattern))) continue; sscanf(lnk, "socket:[%u]", &ino);