mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-12-27 07:56:14 +01:00
Fix gvdb_table_write_contents_async()
It worked when I first wrote it, but I broke it during the late stages of code review. str is already freed here, so this is a use-after-free vulnerability for starters. It also causes the file saved to be always empty.
This commit is contained in:
parent
f586fa04c1
commit
d83587b2a3
@ -608,7 +608,9 @@ gvdb_table_write_contents_async (GHashTable *table,
|
||||
g_task_set_task_data (task, data, (GDestroyNotify)write_contents_data_free);
|
||||
g_task_set_source_tag (task, gvdb_table_write_contents_async);
|
||||
|
||||
g_file_replace_contents_async (file, str->str, str->len,
|
||||
g_file_replace_contents_async (file,
|
||||
g_bytes_get_data (bytes, NULL),
|
||||
g_bytes_get_size (bytes),
|
||||
NULL, FALSE,
|
||||
G_FILE_CREATE_PRIVATE | G_FILE_CREATE_REPLACE_DESTINATION,
|
||||
cancellable, replace_contents_cb, g_steal_pointer (&task));
|
||||
|
Loading…
Reference in New Issue
Block a user