diff options
Diffstat (limited to 'procps/fuser.c')
-rw-r--r-- | procps/fuser.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/procps/fuser.c b/procps/fuser.c index 8afa958..d8005b5 100644 --- a/procps/fuser.c +++ b/procps/fuser.c @@ -100,7 +100,6 @@ static inode_list *scan_proc_net(const char *proto, unsigned port, inode_list *ilist) { char path[20], line[MAX_LINE + 1]; - char addr[128]; ino_t tmp_inode; dev_t tmp_dev; long long uint64_inode; @@ -115,13 +114,15 @@ static inode_list *scan_proc_net(const char *proto, return ilist; while (fgets(line, MAX_LINE, f)) { + char addr[64]; if (sscanf(line, "%*d: %64[0-9A-Fa-f]:%x %*x:%*x %*x %*x:%*x " "%*x:%*x %*x %*d %*d %llu", addr, &tmp_port, &uint64_inode) == 3 ) { - if (strlen(addr) == 8 && (option_mask32 & OPT_IP6)) + int len = strlen(addr); + if (len == 8 && (option_mask32 & OPT_IP6)) continue; - if (strlen(addr) > 8 && (option_mask32 & OPT_IP4)) + if (len > 8 && (option_mask32 & OPT_IP4)) continue; if (tmp_port == port) { tmp_inode = uint64_inode; |