summaryrefslogtreecommitdiff
path: root/packages/glibc/glibc-2.3.2/90_glibc232-statvfs.patch
blob: 5525f79c30f053592211858dbff2834d064d6903 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
--- sysdeps/unix/sysv/linux/internal_statvfs.c~	2003-11-03 18:53:20.000000000 -0500
+++ sysdeps/unix/sysv/linux/internal_statvfs.c	2003-10-28 10:24:47.000000000 -0500
@@ -17,6 +17,7 @@
    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
    02111-1307 USA.  */
 
+#include <assert.h>
 #include <errno.h>
 #include <mntent.h>
 #include <paths.h>
@@ -167,14 +168,17 @@
 	     statvfs call got a name which was not the mount point.
 	     Check again, this time without checking for name matches
 	     first.  */
-	  if (! success)
+	  if (! success && (name != NULL || fsname != NULL))
 	    {
 	      if (name != NULL)
 		/* Try without a mount point name.  */
 		name = NULL;
-	      else if (fsname != NULL)
-		/* Try without a filesystem name.  */
-		fsname = fsname2 = NULL;
+	      else
+		{
+		  /* Try without a filesystem name.  */
+		  assert (fsname != NULL);
+		  fsname = fsname2 = NULL;
+		}
 
 	      /* It is not strictly allowed to use rewind here.  But
 		 this code is part of the implementation so it is