mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-11-10 19:36:18 +01:00
Merge branch 'wip/oholy/copy-permissions' into 'master'
CVE-2019-12450: gfile: Limit access to files when copying See merge request GNOME/glib!876
This commit is contained in:
commit
947355c101
11
gio/gfile.c
11
gio/gfile.c
@ -3284,12 +3284,12 @@ file_copy_fallback (GFile *source,
|
|||||||
out = (GOutputStream*)_g_local_file_output_stream_replace (_g_local_file_get_filename (G_LOCAL_FILE (destination)),
|
out = (GOutputStream*)_g_local_file_output_stream_replace (_g_local_file_get_filename (G_LOCAL_FILE (destination)),
|
||||||
FALSE, NULL,
|
FALSE, NULL,
|
||||||
flags & G_FILE_COPY_BACKUP,
|
flags & G_FILE_COPY_BACKUP,
|
||||||
G_FILE_CREATE_REPLACE_DESTINATION,
|
G_FILE_CREATE_REPLACE_DESTINATION |
|
||||||
info,
|
G_FILE_CREATE_PRIVATE, info,
|
||||||
cancellable, error);
|
cancellable, error);
|
||||||
else
|
else
|
||||||
out = (GOutputStream*)_g_local_file_output_stream_create (_g_local_file_get_filename (G_LOCAL_FILE (destination)),
|
out = (GOutputStream*)_g_local_file_output_stream_create (_g_local_file_get_filename (G_LOCAL_FILE (destination)),
|
||||||
FALSE, 0, info,
|
FALSE, G_FILE_CREATE_PRIVATE, info,
|
||||||
cancellable, error);
|
cancellable, error);
|
||||||
}
|
}
|
||||||
else if (flags & G_FILE_COPY_OVERWRITE)
|
else if (flags & G_FILE_COPY_OVERWRITE)
|
||||||
@ -3297,12 +3297,13 @@ file_copy_fallback (GFile *source,
|
|||||||
out = (GOutputStream *)g_file_replace (destination,
|
out = (GOutputStream *)g_file_replace (destination,
|
||||||
NULL,
|
NULL,
|
||||||
flags & G_FILE_COPY_BACKUP,
|
flags & G_FILE_COPY_BACKUP,
|
||||||
G_FILE_CREATE_REPLACE_DESTINATION,
|
G_FILE_CREATE_REPLACE_DESTINATION |
|
||||||
|
G_FILE_CREATE_PRIVATE,
|
||||||
cancellable, error);
|
cancellable, error);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
out = (GOutputStream *)g_file_create (destination, 0, cancellable, error);
|
out = (GOutputStream *)g_file_create (destination, G_FILE_CREATE_PRIVATE, cancellable, error);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!out)
|
if (!out)
|
||||||
|
Loading…
Reference in New Issue
Block a user