mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-12-26 07:26:15 +01:00
Pass in the right device to vfs->local_file_add_info for symlinks
We used to pass the path for the symlink, but the device of the target which is wrong and breaks metadata access. https://bugzilla.gnome.org/show_bug.cgi?id=593809
This commit is contained in:
parent
96f41b6283
commit
2b2195bf68
@ -1432,6 +1432,7 @@ _g_local_file_info_get (const char *basename,
|
|||||||
char *symlink_target;
|
char *symlink_target;
|
||||||
GVfs *vfs;
|
GVfs *vfs;
|
||||||
GVfsClass *class;
|
GVfsClass *class;
|
||||||
|
guint64 device;
|
||||||
|
|
||||||
info = g_file_info_new ();
|
info = g_file_info_new ();
|
||||||
|
|
||||||
@ -1483,7 +1484,9 @@ _g_local_file_info_get (const char *basename,
|
|||||||
g_free (display_name);
|
g_free (display_name);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
device = statbuf.st_dev;
|
||||||
|
|
||||||
#ifdef S_ISLNK
|
#ifdef S_ISLNK
|
||||||
is_symlink = S_ISLNK (statbuf.st_mode);
|
is_symlink = S_ISLNK (statbuf.st_mode);
|
||||||
#else
|
#else
|
||||||
@ -1711,7 +1714,7 @@ _g_local_file_info_get (const char *basename,
|
|||||||
{
|
{
|
||||||
class->local_file_add_info (vfs,
|
class->local_file_add_info (vfs,
|
||||||
path,
|
path,
|
||||||
statbuf.st_dev,
|
device,
|
||||||
attribute_matcher,
|
attribute_matcher,
|
||||||
info,
|
info,
|
||||||
NULL,
|
NULL,
|
||||||
|
Loading…
Reference in New Issue
Block a user