[prevent][36724] Fix for resource leakage 63/172763/2
authorPaweł Stawicki <p.stawicki@samsung.com>
Thu, 15 Mar 2018 18:17:23 +0000 (19:17 +0100)
committerLukasz Oleksak <l.oleksak@samsung.com>
Tue, 20 Mar 2018 13:22:33 +0000 (13:22 +0000)
Change-Id: Ib0407cf3cf1de81e7c78c9d969daa067e0af428a

test/at_spi2_tool.c

index c0daae4..d7b91d5 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);