[Fix prevent issue]
authorShinwoo Kim <cinoo.kim@samsung.com>
Tue, 23 Jun 2015 06:33:23 +0000 (15:33 +0900)
committerMarcin Niesluchowski <m.niesluchow@samsung.com>
Wed, 21 Sep 2016 15:33:52 +0000 (17:33 +0200)
- 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
atk-adaptor/bridge.c
atk-adaptor/event.c

index af45afc..97016b7 100644 (file)
@@ -1182,6 +1182,8 @@ types_match (DBusMessageIter *iter, char c)
     return TRUE;
   else if (t != c)
     return FALSE;
+
+  return FALSE;
 }
 
 static void
index 9c2117f..c40ef38 100644 (file)
@@ -201,7 +201,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
index d1652da..4d8ca22 100644 (file)
@@ -924,7 +924,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;
 
@@ -953,8 +953,9 @@ text_insert_event_listener (GSignalInvocationHint * signal_hint,
   if (G_VALUE_TYPE (&param_values[3]) == G_TYPE_STRING)
     text = g_value_get_string (&param_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;
 }
@@ -973,7 +974,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;
 
@@ -1002,8 +1003,9 @@ text_remove_event_listener (GSignalInvocationHint * signal_hint,
   if (G_VALUE_TYPE (&param_values[3]) == G_TYPE_STRING)
     text = g_value_get_string (&param_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;
 }