[prevent][42870] Fix for null pointer dereference
[platform/upstream/at-spi2-core.git] / test / at_spi2_tool.c
index c0daae4..63a3adb 100644 (file)
@@ -241,7 +241,10 @@ static char *_get_states(AtspiAccessible *node, int length_limit)
 {
        AtspiStateSet *node_state_set = atspi_accessible_get_state_set(node);
        GArray *states = atspi_state_set_get_states(node_state_set);
-       if (!states) return NULL;
+       if (!states) {
+               g_clear_object(&node_state_set);
+               return NULL;
+       }
        g_array_sort(states, _int_sort_function);
 
        AtspiStateType state_type;
@@ -258,9 +261,8 @@ static char *_get_states(AtspiAccessible *node, int length_limit)
                _combine_strings(&state_string, node_state_str);
        }
 
-       if (states)
-               g_array_free(states, 0);
-       g_object_unref(node_state_set);
+       g_array_free(states, 0);
+       g_clear_object(&node_state_set);
 
        _truncate_string(state_string, length_limit);
 
@@ -321,10 +323,10 @@ static char *_get_info(AtspiAccessible *node, int length_limit, bool *attributes
                                                unique_id, (uintptr_t)eo_ptr,
                                                node_role_name,
                                                attributes,
-                                               box_size->x,
-                                               box_size->y,
-                                               box_size->width,
-                                               box_size->height,
+                                               box_size ? box_size->x : "nil",
+                                               box_size ? box_size->y : "nil",
+                                               box_size ? box_size->width : "nil",
+                                               box_size ? box_size->height : "nil",
                                                node_name,
                                                states,
                                                current_node_has_relations ? "*" : "");