File psmisc-22.6-netunix.patch of Package psmisc

Files src/fuser and src/fuser differ
--- src/fuser.c
+++ src/fuser.c	2008-05-16 14:58:07.906452331 +0200
@@ -1310,12 +1310,21 @@ void fill_unix_cache(struct unixsocket_l
 		return;
 	}
 	while (fgets(line, BUFSIZ, fp) != NULL) {
+		char * path;
+		scanned_path = (char*)0;
 		if (sscanf(line, "%*x: %*x %*x %*x %*x %*d %d %as",
-			&scanned_inode,
-			&scanned_path) != 2) 
+			   &scanned_inode, &scanned_path) != 2) {
+			if (scanned_path)
+				free(scanned_path);
 			continue;
+		}
+		if (scanned_path == (char*)0)
+			continue;
+		path = scanned_path;
+		if (*scanned_path == '@')
+			scanned_path++;
 		if (stat(scanned_path, &st) < 0) {
-			free(scanned_path);
+			free(path);
 			continue;
 		}
 		if ( (newsocket = malloc(sizeof(struct unixsocket_list))) == NULL)
@@ -1323,7 +1332,7 @@ void fill_unix_cache(struct unixsocket_l
 		newsocket->sun_name = strdup(scanned_path);
 		newsocket->inode = st.st_ino;
 		newsocket->dev = st.st_dev;
-        newsocket->net_inode = scanned_inode;
+		newsocket->net_inode = scanned_inode;
 		newsocket->next = *unixsocket_head;
 		*unixsocket_head = newsocket;
 	} /* while */
openSUSE Build Service is sponsored by