+2008-12-07 Matthias Clasen <mclasen@redhat.com>
+
+ Bug 526320 – should not list mounts that the user doesn't have
+ permission to use
+
+ gunixmounts.c: Use g_access() to check accessibility of local devices.
+ Patch by Martin Pitt
+
2008-12-01 Matthias Clasen <mclasen@redhat.com>
* === Released 2.19.2 ===
/* Avoid displaying mounts that are not accessible to the user.
*
* See http://bugzilla.gnome.org/show_bug.cgi?id=526320 for why we
- * want to avoid g_access() for every mount point.
+ * want to avoid g_access() for mount points which can potentially
+ * block or fail stat()'ing, such as network mounts.
*/
path = g_path_get_dirname (mount_path);
if (g_str_has_prefix (path, "/media/"))
}
}
g_free (path);
+
+ if (mount_entry->device_path && mount_entry->device_path[0] == '/')
+ {
+ struct stat st;
+ if (g_stat (mount_entry->device_path, &st) == 0 &&
+ S_ISBLK(st.st_mode) &&
+ g_access (mount_path, R_OK|X_OK) != 0)
+ return FALSE;
+ }
return TRUE;
}