pyatspi-2.58.0-4.fc44

List of Findings

Error: GCC_ANALYZER_WARNING (CWE-401): [#def1]
pyatspi-2.58.0/tests/dummyatk/my-atk-action.c:120:9: warning[-Wanalyzer-malloc-leak]: leak of ‘strdup(desc)’
pyatspi-2.58.0/tests/dummyatk/my-atk-action.c:107:7: branch_false: following ‘false’ branch...
pyatspi-2.58.0/tests/dummyatk/my-atk-action.c:112:7: branch_false: ...to here
pyatspi-2.58.0/tests/dummyatk/my-atk-action.c:112:7: branch_false: following ‘false’ branch...
pyatspi-2.58.0/tests/dummyatk/my-atk-action.c:117:7: branch_false: ...to here
pyatspi-2.58.0/tests/dummyatk/my-atk-action.c:117:7: branch_true: following ‘true’ branch (when ‘desc’ is non-NULL)...
pyatspi-2.58.0/tests/dummyatk/my-atk-action.c:120:9: branch_true: ...to here
pyatspi-2.58.0/tests/dummyatk/my-atk-action.c:120:48: acquire_memory: allocated here
pyatspi-2.58.0/tests/dummyatk/my-atk-action.c:120:9: danger: ‘strdup(desc)’ leaks here; was allocated at [(7)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/6)
#  118|       {
#  119|           //dump new value of description if it is not NULL
#  120|->         self->actions[i].description = (gchar*)strdup((const char*)desc);
#  121|       }
#  122|       return TRUE;

Error: COMPILER_WARNING (CWE-477): [#def2]
pyatspi-2.58.0/tests/dummyatk/my-atk-component.c: scope_hint: In function ‘my_atk_component_grab_focus’
pyatspi-2.58.0/tests/dummyatk/my-atk-component.c:254:5: warning[-Wdeprecated-declarations]: ‘atk_focus_tracker_notify’ is deprecated
#  254 |     atk_focus_tracker_notify((AtkObject*)component);
#      |     ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/atk-1.0/atk/atkcomponent.h:27: included_from: Included from here.
/usr/include/atk-1.0/atk/atk.h:26: included_from: Included from here.
pyatspi-2.58.0/tests/dummyatk/my-atk-component.c:21: included_from: Included from here.
/usr/include/atk-1.0/atk/atkutil.h:200:6: note: declared here
#  200 | void atk_focus_tracker_notify (AtkObject *object);
#      |      ^~~~~~~~~~~~~~~~~~~~~~~~
#  252|       focus_object = component;
#  253|       
#  254|->     atk_focus_tracker_notify((AtkObject*)component);
#  255|       
#  256|       if(focus_object_old != NULL)

Error: COMPILER_WARNING (CWE-477): [#def3]
pyatspi-2.58.0/tests/dummyatk/my-atk-component.c:254:5: warning[-Wdeprecated-declarations]: ‘atk_focus_tracker_notify’ is deprecated
#  252|       focus_object = component;
#  253|       
#  254|->     atk_focus_tracker_notify((AtkObject*)component);
#  255|       
#  256|       if(focus_object_old != NULL)

Error: COMPILER_WARNING (CWE-477): [#def4]
pyatspi-2.58.0/tests/dummyatk/my-atk-component.c: scope_hint: In function ‘my_atk_component_instance_finalize’
pyatspi-2.58.0/tests/dummyatk/my-atk-component.c:335:9: warning[-Wdeprecated-declarations]: ‘atk_focus_tracker_notify’ is deprecated
#  335 |         atk_focus_tracker_notify(NULL);
#      |         ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/atk-1.0/atk/atkutil.h:200:6: note: declared here
#  200 | void atk_focus_tracker_notify (AtkObject *object);
#      |      ^~~~~~~~~~~~~~~~~~~~~~~~
#  333|       if(((AtkObject*)component) == atk_get_focus_object())
#  334|       {
#  335|->         atk_focus_tracker_notify(NULL);
#  336|       }
#  337|   }

Error: COMPILER_WARNING (CWE-477): [#def5]
pyatspi-2.58.0/tests/dummyatk/my-atk-component.c:335:9: warning[-Wdeprecated-declarations]: ‘atk_focus_tracker_notify’ is deprecated
#  333|       if(((AtkObject*)component) == atk_get_focus_object())
#  334|       {
#  335|->         atk_focus_tracker_notify(NULL);
#  336|       }
#  337|   }

Error: COMPILER_WARNING (CWE-477): [#def6]
pyatspi-2.58.0/tests/dummyatk/my-atk-component.c: scope_hint: In function ‘my_atk_component_class_init’
pyatspi-2.58.0/tests/dummyatk/my-atk-component.c:350:5: warning[-Wdeprecated-declarations]: ‘atk_add_focus_tracker’ is deprecated
#  350 |     focus_tracker_id = atk_add_focus_tracker(my_event_listener);
#      |     ^~~~~~~~~~~~~~~~
/usr/include/atk-1.0/atk/atkutil.h:194:7: note: declared here
#  194 | guint atk_add_focus_tracker (AtkEventListener focus_tracker);
#      |       ^~~~~~~~~~~~~~~~~~~~~
#  348|       component_parent_class = g_type_class_peek_parent(g_class);
#  349|       //make focus_tracker's table not empty.
#  350|->     focus_tracker_id = atk_add_focus_tracker(my_event_listener);
#  351|       //store "focus-event"-signal id
#  352|       focus_signal_id = g_signal_lookup("focus-event",MY_TYPE_ATK_COMPONENT);

Error: COMPILER_WARNING (CWE-477): [#def7]
pyatspi-2.58.0/tests/dummyatk/my-atk-component.c:350:5: warning[-Wdeprecated-declarations]: ‘atk_add_focus_tracker’ is deprecated
#  348|       component_parent_class = g_type_class_peek_parent(g_class);
#  349|       //make focus_tracker's table not empty.
#  350|->     focus_tracker_id = atk_add_focus_tracker(my_event_listener);
#  351|       //store "focus-event"-signal id
#  352|       focus_signal_id = g_signal_lookup("focus-event",MY_TYPE_ATK_COMPONENT);

Error: GCC_ANALYZER_WARNING (CWE-476): [#def8]
pyatspi-2.58.0/tests/dummyatk/my-atk-hypertext.c:103:9: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
pyatspi-2.58.0/tests/dummyatk/my-atk-hypertext.c:95:7: branch_false: following ‘false’ branch...
pyatspi-2.58.0/tests/dummyatk/my-atk-hypertext.c:98:7: branch_true: following ‘true’ branch...
pyatspi-2.58.0/tests/dummyatk/my-atk-hypertext.c:101:30: branch_true: ...to here
pyatspi-2.58.0/tests/dummyatk/my-atk-hypertext.c:103:9: danger: dereference of NULL ‘my_atk_hypertext_get_link(hypertext, *hypertext.current_selected_link)’
#  101|               (MyAtkHyperlink*)my_atk_hypertext_get_link(
#  102|               (AtkHypertext*)hypertext, hypertext->current_selected_link);
#  103|->         selected_link_old->is_selected = FALSE;
#  104|       }
#  105|       

Error: GCC_ANALYZER_WARNING (CWE-476): [#def9]
pyatspi-2.58.0/tests/dummyatk/my-atk-hypertext.c:109:5: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
pyatspi-2.58.0/tests/dummyatk/my-atk-hypertext.c:93:6: enter_function: entry to ‘my_atk_hypertext_select_link’
pyatspi-2.58.0/tests/dummyatk/my-atk-hypertext.c:95:7: branch_false: following ‘false’ branch...
pyatspi-2.58.0/tests/dummyatk/my-atk-hypertext.c:107:58: call_function: calling ‘my_atk_hypertext_get_link’ from ‘my_atk_hypertext_select_link’
pyatspi-2.58.0/tests/dummyatk/my-atk-hypertext.c:107:58: return_function: returning to ‘my_atk_hypertext_select_link’ from ‘my_atk_hypertext_get_link’
pyatspi-2.58.0/tests/dummyatk/my-atk-hypertext.c:109:5: danger: dereference of NULL ‘my_atk_hypertext_get_link(hypertext,  index)’
#  107|       MyAtkHyperlink *selected_link_new = (MyAtkHyperlink*)my_atk_hypertext_get_link(
#  108|           (AtkHypertext*)hypertext, hypertext->current_selected_link);
#  109|->     selected_link_new->is_selected = TRUE;
#  110|       
#  111|       g_signal_emit_by_name(hypertext,

Error: COMPILER_WARNING (CWE-477): [#def10]
pyatspi-2.58.0/tests/dummyatk/my-atk-text.c: scope_hint: In function ‘count_ranges’
pyatspi-2.58.0/tests/dummyatk/my-atk-text.c:286:9: warning[-Wdeprecated-declarations]: ‘atk_text_get_text_at_offset’ is deprecated: Use 'atk_text_get_string_at_offset' instead
#  286 |         gchar *tmp_str = atk_text_get_text_at_offset((AtkText*)text, current_line_start,
#      |         ^~~~~
/usr/include/atk-1.0/atk/atkeditabletext.h:27: included_from: Included from here.
/usr/include/atk-1.0/atk/atk.h:28: included_from: Included from here.
pyatspi-2.58.0/tests/dummyatk/my-atk-text.c:21: included_from: Included from here.
/usr/include/atk-1.0/atk/atktext.h:387:8: note: declared here
#  387 | gchar *atk_text_get_text_at_offset (AtkText *text,
#      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
#  284|           }
#  285|           gint start_offset,end_offset;
#  286|->         gchar *tmp_str = atk_text_get_text_at_offset((AtkText*)text, current_line_start,
#  287|               ATK_TEXT_BOUNDARY_LINE_END, &start_offset, &end_offset);
#  288|           g_free(tmp_str);

Error: COMPILER_WARNING (CWE-477): [#def11]
pyatspi-2.58.0/tests/dummyatk/my-atk-text.c:286:9: warning[-Wdeprecated-declarations]: ‘atk_text_get_text_at_offset’ is deprecated: Use 'atk_text_get_string_at_offset' instead
#  284|           }
#  285|           gint start_offset,end_offset;
#  286|->         gchar *tmp_str = atk_text_get_text_at_offset((AtkText*)text, current_line_start,
#  287|               ATK_TEXT_BOUNDARY_LINE_END, &start_offset, &end_offset);
#  288|           g_free(tmp_str);

Scan Properties

analyzer-version-clippy1.92.0
analyzer-version-cppcheck2.19.1
analyzer-version-gcc16.0.0
analyzer-version-gcc-analyzer16.0.0
analyzer-version-shellcheck0.11.0
analyzer-version-unicontrol0.0.2
enabled-pluginsclippy, cppcheck, gcc, shellcheck, unicontrol
exit-code0
hostip-172-16-1-141.us-west-2.compute.internal
known-false-positives/usr/share/csmock/known-false-positives.js
known-false-positives-rpmknown-false-positives-0.0.0.20250521.132812.g8eff701.main-1.el9.noarch
mock-configfedora-rawhide-x86_64
project-namepyatspi-2.58.0-4.fc44
store-results-to/tmp/tmp8yz54dmg/pyatspi-2.58.0-4.fc44.tar.xz
time-created2026-01-08 20:25:01
time-finished2026-01-08 20:26:23
toolcsmock
tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-x86_64' '-t' 'gcc,cppcheck,clippy,shellcheck,unicontrol' '-o' '/tmp/tmp8yz54dmg/pyatspi-2.58.0-4.fc44.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '--gcc-analyzer-bin=/usr/bin/gcc' '/tmp/tmp8yz54dmg/pyatspi-2.58.0-4.fc44.src.rpm'
tool-versioncsmock-3.8.3.20251215.161544.g62de9a5-1.el9