summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGiovanni Campagna <gcampagna@src.gnome.org>2012-02-13 16:41:20 +0100
committerGiovanni Campagna <gcampagna@src.gnome.org>2012-02-14 19:04:07 +0100
commit5b8a6900d3c0e757044b7f5c6e9eb54f9cb18154 (patch)
treeef069c7d8f14b7a6f7ae4d40d4b6ba8920e80bf1
parent96671ce815e061a7ff472adbe89ac381443c619a (diff)
downloadglib-5b8a6900d3c0e757044b7f5c6e9eb54f9cb18154.tar.gz
GDataInputStream: don't segfault on async line reads
If an async line read fails, it returns NULL. In that case, we must return NULL before validating the line, or we segfault. https://bugzilla.gnome.org/show_bug.cgi?id=658484
-rw-r--r--gio/gdatainputstream.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gio/gdatainputstream.c b/gio/gdatainputstream.c
index d5dd2fd65..ea26aeb36 100644
--- a/gio/gdatainputstream.c
+++ b/gio/gdatainputstream.c
@@ -1284,6 +1284,9 @@ g_data_input_stream_read_line_finish_utf8 (GDataInputStream *stream,
gchar *res;
res = g_data_input_stream_read_line_finish (stream, result, length, error);
+ if (!res)
+ return NULL;
+
if (!g_utf8_validate (res, -1, NULL))
{
g_set_error_literal (error, G_CONVERT_ERROR,