From: Alban Browaeys Date: Tue, 15 Jan 2013 23:04:58 +0000 (+0100) Subject: gio: callback_data is the task not the task data. X-Git-Tag: 2.35.6~82 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=acfa6e233780a79664a62e5d4f1bf822b446017e;p=platform%2Fupstream%2Fglib.git gio: callback_data is the task not the task data. skip_callback_wrapper expect the user_data (callback_data) to be the task holding the task_data, not the task_data itself. Otherwise the task_data is cast as GTask and then task_data is extracted from this bogus task. https://bugzilla.gnome.org/show_bug.cgi?id=691812 --- diff --git a/gio/ginputstream.c b/gio/ginputstream.c index c6fa332..5fbf025 100644 --- a/gio/ginputstream.c +++ b/gio/ginputstream.c @@ -1234,7 +1234,7 @@ skip_callback_wrapper (GObject *source_object, data->buffer, MIN (8192, data->count), g_task_get_priority (task), g_task_get_cancellable (task), - skip_callback_wrapper, data); + skip_callback_wrapper, task); return; } } @@ -1293,7 +1293,7 @@ g_input_stream_real_skip_async (GInputStream *stream, g_task_set_task_data (task, data, g_free); g_task_set_check_cancellable (task, FALSE); class->read_async (stream, data->buffer, MIN (8192, count), io_priority, cancellable, - skip_callback_wrapper, data); + skip_callback_wrapper, task); } }