]> rtime.felk.cvut.cz Git - lisovros/iproute2_canprio.git/commitdiff
ss: check result of readlink
authorStephen Hemminger <shemminger@vyatta.com>
Wed, 29 Jun 2011 22:58:37 +0000 (15:58 -0700)
committerStephen Hemminger <shemminger@vyatta.com>
Wed, 29 Jun 2011 22:58:37 +0000 (15:58 -0700)
Don't ignore readlink failure.

misc/ss.c

index 4033e928281b09572fefa668dd85904604c1d489..1597ff9c85ae1d54b41e409fbc226dd341cc24e3 100644 (file)
--- 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);