ss: check result of readlink

Don't ignore readlink failure.
This commit is contained in:
Stephen Hemminger 2011-06-29 15:58:37 -07:00
parent dc484542a9
commit 18445b3e92
1 changed files with 3 additions and 3 deletions

View File

@ -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);