1d5cd6c
diff -up net-tools-1.60/netstat.c.p-basename net-tools-1.60/netstat.c
d6dc144
--- net-tools-1.60/netstat.c.p-basename	2011-06-09 12:01:59.907721330 +0200
d6dc144
+++ net-tools-1.60/netstat.c	2011-06-09 12:02:28.437352480 +0200
d6dc144
@@ -413,7 +413,7 @@ static void prg_cache_load(void)
d6dc144
 {
d6dc144
     char line[LINE_MAX],eacces=0;
d6dc144
     int procfdlen,fd,cmdllen,lnamelen;
d6dc144
-    char lname[30],cmdlbuf[512],finbuf[PROGNAME_WIDTH];
d6dc144
+    char lname[30],cmdlbuf[512],finbuf[PROGNAME_WIDTH],*cmdlpend;
d6dc144
     unsigned long inode;
d6dc144
     const char *cs,*cmdlp;
d6dc144
     DIR *dirproc=NULL,*dirfd=NULL;
d6dc144
@@ -484,10 +484,12 @@ static void prg_cache_load(void)
1d5cd6c
 		    continue;
1d5cd6c
 		if (cmdllen < sizeof(cmdlbuf) - 1) 
1d5cd6c
 		    cmdlbuf[cmdllen]='\0';
1d5cd6c
-		if ((cmdlp = strrchr(cmdlbuf, '/'))) 
1d5cd6c
+		if (cmdlbuf[0] == '/' && (cmdlp = strrchr(cmdlbuf, '/')))
1d5cd6c
 		    cmdlp++;
1d5cd6c
 		else 
1d5cd6c
 		    cmdlp = cmdlbuf;
d6dc144
+		if ((cmdlpend = strrchr(cmdlp, ':')) != NULL)
d6dc144
+		    *cmdlpend = '\0';
d6dc144
 	    }
d6dc144
 
d6dc144
 	    snprintf(finbuf, sizeof(finbuf), "%s/%s", direproc->d_name, cmdlp);