diff options
author | Xavier Claessens <xclaesse@gmail.com> | 2010-03-05 01:11:26 +0800 |
---|---|---|
committer | Xavier Claessens <xclaesse@gmail.com> | 2010-03-05 01:14:55 +0800 |
commit | ba5b7807abcbd86cc9d35440754b68a3fe970f18 (patch) | |
tree | 33cff9bea880ac0af5872d5a7cbb674e28a27803 | |
parent | 02e330c0418f6b59abe193171d7adc75739bd8a2 (diff) | |
download | gsoc2013-empathy-ba5b7807abcbd86cc9d35440754b68a3fe970f18.tar gsoc2013-empathy-ba5b7807abcbd86cc9d35440754b68a3fe970f18.tar.gz gsoc2013-empathy-ba5b7807abcbd86cc9d35440754b68a3fe970f18.tar.bz2 gsoc2013-empathy-ba5b7807abcbd86cc9d35440754b68a3fe970f18.tar.lz gsoc2013-empathy-ba5b7807abcbd86cc9d35440754b68a3fe970f18.tar.xz gsoc2013-empathy-ba5b7807abcbd86cc9d35440754b68a3fe970f18.tar.zst gsoc2013-empathy-ba5b7807abcbd86cc9d35440754b68a3fe970f18.zip |
empathy_add_link_markup() is not NULL-safe
Add a g_return_val_if_fail() to avoid crash, and avoid calling that func
with NULL text.
-rw-r--r-- | libempathy-gtk/empathy-contact-widget.c | 5 | ||||
-rw-r--r-- | libempathy-gtk/empathy-string-parser.c | 2 |
2 files changed, 5 insertions, 2 deletions
diff --git a/libempathy-gtk/empathy-contact-widget.c b/libempathy-gtk/empathy-contact-widget.c index 75f244698..696a8cda4 100644 --- a/libempathy-gtk/empathy-contact-widget.c +++ b/libempathy-gtk/empathy-contact-widget.c @@ -950,10 +950,11 @@ static void contact_widget_presence_notify_cb (EmpathyContactWidget *information) { const gchar *status; - gchar *markup_text; + gchar *markup_text = NULL; status = empathy_contact_get_status (information->contact); - markup_text = empathy_add_link_markup (status); + if (status != NULL) + markup_text = empathy_add_link_markup (status); gtk_label_set_markup (GTK_LABEL (information->label_status), markup_text); g_free (markup_text); diff --git a/libempathy-gtk/empathy-string-parser.c b/libempathy-gtk/empathy-string-parser.c index fa56a2d42..5c3fb1972 100644 --- a/libempathy-gtk/empathy-string-parser.c +++ b/libempathy-gtk/empathy-string-parser.c @@ -201,6 +201,8 @@ empathy_add_link_markup (const gchar *text) }; GString *string; + g_return_val_if_fail (text != NULL, NULL); + string = g_string_sized_new (strlen (text)); empathy_string_parser_substr (text, -1, parsers, string); |