From bd50984039d58a7496c4ae5a1ee8e7410dad0292 Mon Sep 17 00:00:00 2001 From: Shinwoo Kim Date: Tue, 23 Jun 2015 15:33:23 +0900 Subject: [PATCH] [Fix prevent issue] - CID 392192 (collection-adaptor.c:typematch - Missing return statement) - CID 388252 (bridge.c:add_event_from_iter - Dereference null return value) - CID 389362 (event.c:text_remove_event_listener - Uninitialized pointer read) - CID 405632 (event.c:text_insert_event_listener - Uninitialized pointer read) Change-Id: I40ee086b65901f6d8a1fb457d320bfd6dfd49397 --- atk-adaptor/adaptors/collection-adaptor.c | 2 ++ atk-adaptor/bridge.c | 6 +++++- atk-adaptor/event.c | 14 ++++++++------ 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/atk-adaptor/adaptors/collection-adaptor.c b/atk-adaptor/adaptors/collection-adaptor.c index af45afc..97016b7 100644 --- a/atk-adaptor/adaptors/collection-adaptor.c +++ b/atk-adaptor/adaptors/collection-adaptor.c @@ -1182,6 +1182,8 @@ types_match (DBusMessageIter *iter, char c) return TRUE; else if (t != c) return FALSE; + + return FALSE; } static void diff --git a/atk-adaptor/bridge.c b/atk-adaptor/bridge.c index aeabb91..e542094 100644 --- a/atk-adaptor/bridge.c +++ b/atk-adaptor/bridge.c @@ -200,7 +200,11 @@ add_property_to_event (event_data *evdata, const char *property) } prop->name = g_strdup (property); - evdata->properties = g_slist_append (evdata->properties, prop); + + if (evdata) + { + evdata->properties = g_slist_append (evdata->properties, prop); + } } static void diff --git a/atk-adaptor/event.c b/atk-adaptor/event.c index 0430271..0662664 100644 --- a/atk-adaptor/event.c +++ b/atk-adaptor/event.c @@ -913,7 +913,7 @@ text_insert_event_listener (GSignalInvocationHint * signal_hint, guint text_changed_signal_id; GSignalQuery signal_query; const gchar *name; - const gchar *minor_raw, *text; + const gchar *minor_raw, *text = NULL; gchar *minor; gint detail1 = 0, detail2 = 0; @@ -942,8 +942,9 @@ text_insert_event_listener (GSignalInvocationHint * signal_hint, if (G_VALUE_TYPE (¶m_values[3]) == G_TYPE_STRING) text = g_value_get_string (¶m_values[3]); - emit_event (accessible, ITF_EVENT_OBJECT, name, minor, detail1, detail2, - DBUS_TYPE_STRING_AS_STRING, text, append_basic); + if (text != NULL) + emit_event (accessible, ITF_EVENT_OBJECT, name, minor, detail1, detail2, + DBUS_TYPE_STRING_AS_STRING, text, append_basic); g_free (minor); return TRUE; } @@ -962,7 +963,7 @@ text_remove_event_listener (GSignalInvocationHint * signal_hint, guint text_changed_signal_id; GSignalQuery signal_query; const gchar *name; - const gchar *minor_raw, *text; + const gchar *minor_raw, *text = NULL; gchar *minor; gint detail1 = 0, detail2 = 0; @@ -991,8 +992,9 @@ text_remove_event_listener (GSignalInvocationHint * signal_hint, if (G_VALUE_TYPE (¶m_values[3]) == G_TYPE_STRING) text = g_value_get_string (¶m_values[3]); - emit_event (accessible, ITF_EVENT_OBJECT, name, minor, detail1, detail2, - DBUS_TYPE_STRING_AS_STRING, text, append_basic); + if (text != NULL) + emit_event (accessible, ITF_EVENT_OBJECT, name, minor, detail1, detail2, + DBUS_TYPE_STRING_AS_STRING, text, append_basic); g_free (minor); return TRUE; } -- 2.7.4