diff options
author | Giovanni Campagna <gcampagna@src.gnome.org> | 2012-02-13 16:41:20 +0100 |
---|---|---|
committer | Giovanni Campagna <gcampagna@src.gnome.org> | 2012-02-14 19:04:07 +0100 |
commit | 5b8a6900d3c0e757044b7f5c6e9eb54f9cb18154 (patch) | |
tree | ef069c7d8f14b7a6f7ae4d40d4b6ba8920e80bf1 | |
parent | 96671ce815e061a7ff472adbe89ac381443c619a (diff) | |
download | glib-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.c | 3 |
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, |