wireplumber-0.5.8-1.fc43

List of Findings

Error: CPPCHECK_WARNING (CWE-457): [#def1]
wireplumber-0.5.8/modules/module-si-audio-adapter.c:218: error[uninitvar]: Uninitialized variable: audio_format
#  216|                                  SPA_TYPE_OBJECT_Format, NULL,
#  217|                                  SPA_FORMAT_AUDIO_format,   SPA_POD_OPT_Id(&audio_format)) >= 0) {
#  218|->         self->have_encoded = (audio_format == SPA_AUDIO_FORMAT_ENCODED);
#  219|         }
#  220|         break;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def2]
wireplumber-0.5.8/redhat-linux-build/../lib/wp/properties.c:319:9: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘self’
wireplumber-0.5.8/redhat-linux-build/../lib/wp/properties.c:366:1: enter_function: entry to ‘wp_properties_ensure_unique_owner’
wireplumber-0.5.8/redhat-linux-build/../lib/wp/properties.c:371:26: call_function: calling ‘wp_properties_copy’ from ‘wp_properties_ensure_unique_owner’
wireplumber-0.5.8/redhat-linux-build/../lib/wp/properties.c:371:26: return_function: returning to ‘wp_properties_ensure_unique_owner’ from ‘wp_properties_copy’
wireplumber-0.5.8/redhat-linux-build/../lib/wp/properties.c:372:5: call_function: calling ‘wp_properties_unref’ from ‘wp_properties_ensure_unique_owner’
#  317|   wp_properties_free (WpProperties * self)
#  318|   {
#  319|->   if (!(self->flags & FLAG_NO_OWNERSHIP))
#  320|       pw_properties_free (self->props);
#  321|     g_slice_free (WpProperties, self);

Error: GCC_ANALYZER_WARNING (CWE-476): [#def3]
wireplumber-0.5.8/redhat-linux-build/../lib/wp/properties.c:859:19: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
wireplumber-0.5.8/redhat-linux-build/../lib/wp/properties.c:856:1: enter_function: entry to ‘dict_iterator_reset’
wireplumber-0.5.8/redhat-linux-build/../lib/wp/properties.c:859:19: call_function: calling ‘wp_properties_peek_dict’ from ‘dict_iterator_reset’
wireplumber-0.5.8/redhat-linux-build/../lib/wp/properties.c:859:19: return_function: returning to ‘dict_iterator_reset’ from ‘wp_properties_peek_dict’
wireplumber-0.5.8/redhat-linux-build/../lib/wp/properties.c:859:19: danger: dereference of NULL ‘wp_properties_peek_dict(*<unknown>.properties)’
#  857|   {
#  858|     struct dict_iterator_data *it_data = wp_iterator_get_user_data (it);
#  859|->   it_data->item = wp_properties_peek_dict (it_data->properties)->items;
#  860|   }
#  861|   

Error: GCC_ANALYZER_WARNING (CWE-476): [#def4]
wireplumber-0.5.8/redhat-linux-build/../lib/wp/properties.c:868:24: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
wireplumber-0.5.8/redhat-linux-build/../lib/wp/properties.c:863:1: enter_function: entry to ‘dict_iterator_next’
wireplumber-0.5.8/redhat-linux-build/../lib/wp/properties.c:866:33: call_function: calling ‘wp_properties_peek_dict’ from ‘dict_iterator_next’
wireplumber-0.5.8/redhat-linux-build/../lib/wp/properties.c:866:33: return_function: returning to ‘dict_iterator_next’ from ‘wp_properties_peek_dict’
wireplumber-0.5.8/redhat-linux-build/../lib/wp/properties.c:868:24: danger: dereference of NULL ‘wp_properties_peek_dict(*<unknown>.properties)’
#  866|     const struct spa_dict *dict = wp_properties_peek_dict (it_data->properties);
#  867|   
#  868|->   if ((it_data->item - dict->items) < dict->n_items) {
#  869|       g_value_init (item, WP_TYPE_PROPERTIES_ITEM);
#  870|       g_autoptr (WpPropertiesItem) pi = wp_properties_item_new (

Error: GCC_ANALYZER_WARNING (CWE-476): [#def5]
wireplumber-0.5.8/redhat-linux-build/../lib/wp/properties.c:887:3: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
wireplumber-0.5.8/redhat-linux-build/../lib/wp/properties.c:880:1: enter_function: entry to ‘dict_iterator_fold’
wireplumber-0.5.8/redhat-linux-build/../lib/wp/properties.c:884:33: call_function: calling ‘wp_properties_peek_dict’ from ‘dict_iterator_fold’
wireplumber-0.5.8/redhat-linux-build/../lib/wp/properties.c:884:33: return_function: returning to ‘dict_iterator_fold’ from ‘wp_properties_peek_dict’
wireplumber-0.5.8/redhat-linux-build/../lib/wp/properties.c:887:3: danger: dereference of NULL ‘wp_properties_peek_dict(*<unknown>.properties)’
#  885|     const struct spa_dict_item *i;
#  886|   
#  887|->   spa_dict_for_each (i, dict) {
#  888|       g_auto (GValue) item = G_VALUE_INIT;
#  889|       g_autoptr (WpPropertiesItem) pi = wp_properties_item_new (

Error: GCC_ANALYZER_WARNING (CWE-476): [#def6]
wireplumber-0.5.8/redhat-linux-build/../lib/wp/properties.c:1022:3: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
wireplumber-0.5.8/redhat-linux-build/../lib/wp/properties.c:1016:1: enter_function: entry to ‘wp_properties_unref_and_take_pw_properties’
wireplumber-0.5.8/redhat-linux-build/../lib/wp/properties.c:1018:3: branch_true: following ‘true’ branch (when ‘self’ is non-NULL)...
wireplumber-0.5.8/redhat-linux-build/../lib/wp/properties.c:1020:37: branch_true: ...to here
wireplumber-0.5.8/redhat-linux-build/../lib/wp/properties.c:1020:37: call_function: calling ‘wp_properties_ensure_unique_owner’ from ‘wp_properties_unref_and_take_pw_properties’
wireplumber-0.5.8/redhat-linux-build/../lib/wp/properties.c:1020:37: return_function: returning to ‘wp_properties_unref_and_take_pw_properties’ from ‘wp_properties_ensure_unique_owner’
wireplumber-0.5.8/redhat-linux-build/../lib/wp/properties.c:1022:3: danger: dereference of NULL ‘wp_properties_ensure_unique_owner(self)’
# 1020|     g_autoptr (WpProperties) unique = wp_properties_ensure_unique_owner (self);
# 1021|     /* set the flag so that unref-ing \a unique will not destroy unique->props */
# 1022|->   unique->flags = FLAG_NO_OWNERSHIP;
# 1023|     return unique->props;
# 1024|   }

Error: GCC_ANALYZER_WARNING (CWE-476): [#def7]
wireplumber-0.5.8/redhat-linux-build/../lib/wp/properties.c:1053:3: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
wireplumber-0.5.8/redhat-linux-build/../lib/wp/properties.c:1043:1: enter_function: entry to ‘wp_properties_matches’
wireplumber-0.5.8/redhat-linux-build/../lib/wp/properties.c:1049:3: branch_true: following ‘true’ branch (when ‘self’ is non-NULL)...
wireplumber-0.5.8/redhat-linux-build/../lib/wp/properties.c:1052:10: branch_true: ...to here
wireplumber-0.5.8/redhat-linux-build/../lib/wp/properties.c:1052:10: call_function: calling ‘wp_properties_peek_dict’ from ‘wp_properties_matches’
wireplumber-0.5.8/redhat-linux-build/../lib/wp/properties.c:1052:10: return_function: returning to ‘wp_properties_matches’ from ‘wp_properties_peek_dict’
wireplumber-0.5.8/redhat-linux-build/../lib/wp/properties.c:1053:3: danger: dereference of NULL ‘wp_properties_peek_dict(other)’
# 1051|     /* Check if the property values match the ones from 'self' */
# 1052|     dict = wp_properties_peek_dict (other);
# 1053|->   spa_dict_for_each(item, dict) {
# 1054|       value = wp_properties_get (self, item->key);
# 1055|       if (!value || !g_pattern_match_simple (value, item->value))

Error: GCC_ANALYZER_WARNING (CWE-476): [#def8]
wireplumber-0.5.8/redhat-linux-build/../lib/wp/spa-json.c:1427:8: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘self’
wireplumber-0.5.8/redhat-linux-build/../lib/wp/spa-json.c:1637:1: enter_function: entry to ‘wp_spa_json_iterator_next’
wireplumber-0.5.8/redhat-linux-build/../lib/wp/spa-json.c:1642:6: branch_true: following ‘true’ branch...
wireplumber-0.5.8/redhat-linux-build/../lib/wp/spa-json.c:1643:13: branch_true: ...to here
wireplumber-0.5.8/redhat-linux-build/../lib/wp/spa-json.c:1645:24: call_function: calling ‘wp_spa_json_parser_new_array’ from ‘wp_spa_json_iterator_next’
wireplumber-0.5.8/redhat-linux-build/../lib/wp/spa-json.c:1645:24: return_function: returning to ‘wp_spa_json_iterator_next’ from ‘wp_spa_json_parser_new_array’
wireplumber-0.5.8/redhat-linux-build/../lib/wp/spa-json.c:1656:8: release_memory: ‘0’ is NULL
wireplumber-0.5.8/redhat-linux-build/../lib/wp/spa-json.c:1656:8: call_function: calling ‘wp_spa_json_parser_advance’ from ‘wp_spa_json_iterator_next’
# 1425|     int size, nested_size;
# 1426|   
# 1427|->   if (!self->pos)
# 1428|       return FALSE;
# 1429|   

Error: GCC_ANALYZER_WARNING (CWE-476): [#def9]
wireplumber-0.5.8/redhat-linux-build/../lib/wp/state.c:366:5: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘error’
wireplumber-0.5.8/redhat-linux-build/../lib/wp/state.c:361:1: enter_function: entry to ‘timeout_save_state_callback’
wireplumber-0.5.8/redhat-linux-build/../lib/wp/state.c:363:22: release_memory: ‘error’ is NULL
wireplumber-0.5.8/redhat-linux-build/../lib/wp/state.c:365:8: call_function: calling ‘wp_state_save’ from ‘timeout_save_state_callback’
wireplumber-0.5.8/redhat-linux-build/../lib/wp/state.c:365:8: return_function: returning to ‘timeout_save_state_callback’ from ‘wp_state_save’
wireplumber-0.5.8/redhat-linux-build/../lib/wp/state.c:365:6: branch_true: following ‘true’ branch...
wireplumber-0.5.8/redhat-linux-build/../lib/wp/state.c:366:5: branch_true: ...to here
wireplumber-0.5.8/redhat-linux-build/../lib/wp/state.c:366:5: branch_true: following ‘true’ branch...
wireplumber-0.5.8/redhat-linux-build/../lib/wp/state.c:366:5: branch_true: ...to here
wireplumber-0.5.8/redhat-linux-build/../lib/wp/state.c:366:5: release_memory: ‘error’ is NULL
wireplumber-0.5.8/redhat-linux-build/../lib/wp/state.c:366:5: danger: dereference of NULL ‘error’
#  364|   
#  365|     if (!wp_state_save (self, self->timeout_props, &error))
#  366|->     wp_warning_object (self, "%s", error->message);
#  367|   
#  368|     g_clear_pointer (&self->timeout_source, g_source_unref);

Error: GCC_ANALYZER_WARNING (CWE-476): [#def10]
wireplumber-0.5.8/redhat-linux-build/../modules/module-lua-scripting/api/api.c:1324:38: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘arr’
wireplumber-0.5.8/redhat-linux-build/../modules/module-lua-scripting/api/api.c:1301:10: branch_false: following ‘false’ branch...
wireplumber-0.5.8/redhat-linux-build/../modules/module-lua-scripting/api/api.c:1324:38: branch_false: ...to here
wireplumber-0.5.8/redhat-linux-build/../modules/module-lua-scripting/api/api.c:1324:38: danger: dereference of NULL ‘arr’
# 1322|   
# 1323|     wp_client_update_permissions_array (client, arr->len,
# 1324|->       (const struct pw_permission *) arr->data);
# 1325|     return 0;
# 1326|   }

Error: GCC_ANALYZER_WARNING (CWE-476): [#def11]
wireplumber-0.5.8/redhat-linux-build/../modules/module-lua-scripting/api/api.c:2461:5: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘before’
wireplumber-0.5.8/redhat-linux-build/../modules/module-lua-scripting/api/api.c:2445:12: branch_false: following ‘false’ branch (when ‘before_size <= 0’)...
wireplumber-0.5.8/redhat-linux-build/../modules/module-lua-scripting/api/api.c:2447:11: branch_false: ...to here
wireplumber-0.5.8/redhat-linux-build/../modules/module-lua-scripting/api/api.c:2447:11: branch_false: following ‘false’ branch (when ‘after_size <= 0’)...
wireplumber-0.5.8/redhat-linux-build/../modules/module-lua-scripting/api/api.c:2451:7: branch_false: ...to here
wireplumber-0.5.8/redhat-linux-build/../modules/module-lua-scripting/api/api.c:2460:13: branch_true: following ‘true’ branch...
wireplumber-0.5.8/redhat-linux-build/../modules/module-lua-scripting/api/api.c:2461:17: branch_true: ...to here
wireplumber-0.5.8/redhat-linux-build/../modules/module-lua-scripting/api/api.c:2461:5: danger: dereference of NULL ‘before’
# 2459|       before[i] = NULL;
# 2460|     } else if (lua_type (L, 4) == LUA_TSTRING) {
# 2461|->     before[0] = lua_tostring (L, 4);
# 2462|       before[1] = NULL;
# 2463|     }

Error: GCC_ANALYZER_WARNING (CWE-476): [#def12]
wireplumber-0.5.8/redhat-linux-build/../modules/module-lua-scripting/api/api.c:2476:5: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘after’
wireplumber-0.5.8/redhat-linux-build/../modules/module-lua-scripting/api/api.c:2445:12: branch_false: following ‘false’ branch (when ‘before_size <= 0’)...
wireplumber-0.5.8/redhat-linux-build/../modules/module-lua-scripting/api/api.c:2447:11: branch_false: ...to here
wireplumber-0.5.8/redhat-linux-build/../modules/module-lua-scripting/api/api.c:2447:11: branch_false: following ‘false’ branch (when ‘after_size <= 0’)...
wireplumber-0.5.8/redhat-linux-build/../modules/module-lua-scripting/api/api.c:2451:7: branch_false: ...to here
wireplumber-0.5.8/redhat-linux-build/../modules/module-lua-scripting/api/api.c:2460:13: branch_false: following ‘false’ branch...
wireplumber-0.5.8/redhat-linux-build/../modules/module-lua-scripting/api/api.c:2466:7: branch_false: ...to here
wireplumber-0.5.8/redhat-linux-build/../modules/module-lua-scripting/api/api.c:2475:13: branch_true: following ‘true’ branch...
wireplumber-0.5.8/redhat-linux-build/../modules/module-lua-scripting/api/api.c:2476:16: branch_true: ...to here
wireplumber-0.5.8/redhat-linux-build/../modules/module-lua-scripting/api/api.c:2476:5: danger: dereference of NULL ‘after’
# 2474|       after[i] = NULL;
# 2475|     } else if (lua_type (L, 5) == LUA_TSTRING) {
# 2476|->     after[0] = lua_tostring (L, 5);
# 2477|       after[1] = NULL;
# 2478|     }

Error: GCC_ANALYZER_WARNING (CWE-476): [#def13]
wireplumber-0.5.8/redhat-linux-build/../modules/module-lua-scripting/api/api.c:2710:5: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘before’
wireplumber-0.5.8/redhat-linux-build/../modules/module-lua-scripting/api/api.c:2694:12: branch_false: following ‘false’ branch (when ‘before_size <= 0’)...
wireplumber-0.5.8/redhat-linux-build/../modules/module-lua-scripting/api/api.c:2696:11: branch_false: ...to here
wireplumber-0.5.8/redhat-linux-build/../modules/module-lua-scripting/api/api.c:2696:11: branch_false: following ‘false’ branch (when ‘after_size <= 0’)...
wireplumber-0.5.8/redhat-linux-build/../modules/module-lua-scripting/api/api.c:2700:7: branch_false: ...to here
wireplumber-0.5.8/redhat-linux-build/../modules/module-lua-scripting/api/api.c:2709:13: branch_true: following ‘true’ branch...
wireplumber-0.5.8/redhat-linux-build/../modules/module-lua-scripting/api/api.c:2710:17: branch_true: ...to here
wireplumber-0.5.8/redhat-linux-build/../modules/module-lua-scripting/api/api.c:2710:5: danger: dereference of NULL ‘before’
# 2708|       before[i] = NULL;
# 2709|     } else if (lua_type (L, 4) == LUA_TSTRING) {
# 2710|->     before[0] = lua_tostring (L, 4);
# 2711|       before[1] = NULL;
# 2712|     }

Error: GCC_ANALYZER_WARNING (CWE-476): [#def14]
wireplumber-0.5.8/redhat-linux-build/../modules/module-lua-scripting/api/api.c:2725:5: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘after’
wireplumber-0.5.8/redhat-linux-build/../modules/module-lua-scripting/api/api.c:2694:12: branch_false: following ‘false’ branch (when ‘before_size <= 0’)...
wireplumber-0.5.8/redhat-linux-build/../modules/module-lua-scripting/api/api.c:2696:11: branch_false: ...to here
wireplumber-0.5.8/redhat-linux-build/../modules/module-lua-scripting/api/api.c:2696:11: branch_false: following ‘false’ branch (when ‘after_size <= 0’)...
wireplumber-0.5.8/redhat-linux-build/../modules/module-lua-scripting/api/api.c:2700:7: branch_false: ...to here
wireplumber-0.5.8/redhat-linux-build/../modules/module-lua-scripting/api/api.c:2709:13: branch_false: following ‘false’ branch...
wireplumber-0.5.8/redhat-linux-build/../modules/module-lua-scripting/api/api.c:2715:7: branch_false: ...to here
wireplumber-0.5.8/redhat-linux-build/../modules/module-lua-scripting/api/api.c:2724:13: branch_true: following ‘true’ branch...
wireplumber-0.5.8/redhat-linux-build/../modules/module-lua-scripting/api/api.c:2725:16: branch_true: ...to here
wireplumber-0.5.8/redhat-linux-build/../modules/module-lua-scripting/api/api.c:2725:5: danger: dereference of NULL ‘after’
# 2723|       after[i] = NULL;
# 2724|     } else if (lua_type (L, 5) == LUA_TSTRING) {
# 2725|->     after[0] = lua_tostring (L, 5);
# 2726|       after[1] = NULL;
# 2727|     }

Error: GCC_ANALYZER_WARNING (CWE-476): [#def15]
wireplumber-0.5.8/redhat-linux-build/../modules/module-lua-scripting/wplua/wplua.c:148:5: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘error’
wireplumber-0.5.8/redhat-linux-build/../modules/module-lua-scripting/wplua/wplua.c:142:1: enter_function: entry to ‘wplua_enable_sandbox’
wireplumber-0.5.8/redhat-linux-build/../modules/module-lua-scripting/wplua/wplua.c:144:22: release_memory: ‘error’ is NULL
wireplumber-0.5.8/redhat-linux-build/../modules/module-lua-scripting/wplua/wplua.c:147:8: call_function: calling ‘wplua_load_uri’ from ‘wplua_enable_sandbox’
wireplumber-0.5.8/redhat-linux-build/../modules/module-lua-scripting/wplua/wplua.c:147:8: return_function: returning to ‘wplua_enable_sandbox’ from ‘wplua_load_uri’
wireplumber-0.5.8/redhat-linux-build/../modules/module-lua-scripting/wplua/wplua.c:147:6: branch_true: following ‘true’ branch...
wireplumber-0.5.8/redhat-linux-build/../modules/module-lua-scripting/wplua/wplua.c:148:5: branch_true: ...to here
wireplumber-0.5.8/redhat-linux-build/../modules/module-lua-scripting/wplua/wplua.c:148:5: branch_true: following ‘true’ branch...
wireplumber-0.5.8/redhat-linux-build/../modules/module-lua-scripting/wplua/wplua.c:148:5: branch_true: ...to here
wireplumber-0.5.8/redhat-linux-build/../modules/module-lua-scripting/wplua/wplua.c:148:5: release_memory: ‘error’ is NULL
wireplumber-0.5.8/redhat-linux-build/../modules/module-lua-scripting/wplua/wplua.c:148:5: danger: dereference of NULL ‘error’
#  146|   
#  147|     if (!wplua_load_uri (L, URI_SANDBOX, &error)) {
#  148|->     wp_critical ("Failed to load sandbox: %s", error->message);
#  149|       return;
#  150|     }

Scan Properties

analyzer-version-clippy1.86.0
analyzer-version-cppcheck2.17.1
analyzer-version-gcc15.0.1
analyzer-version-gcc-analyzer15.0.1
analyzer-version-shellcheck0.10.0
analyzer-version-unicontrol0.0.2
enabled-pluginsclippy, cppcheck, gcc, shellcheck, unicontrol
exit-code0
hostip-172-16-1-189.us-west-2.compute.internal
known-false-positives/usr/share/csmock/known-false-positives.js
known-false-positives-rpmknown-false-positives-0.0.0.20250425.124705.g1c7c448.main-1.el9.noarch
mock-configfedora-rawhide-x86_64
project-namewireplumber-0.5.8-1.fc43
store-results-to/tmp/tmph5enwlj7/wireplumber-0.5.8-1.fc43.tar.xz
time-created2025-04-25 15:59:22
time-finished2025-04-25 16:01:58
toolcsmock
tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-x86_64' '-t' 'unicontrol,cppcheck,gcc,clippy,shellcheck' '-o' '/tmp/tmph5enwlj7/wireplumber-0.5.8-1.fc43.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '--gcc-analyzer-bin=/usr/bin/gcc' '/tmp/tmph5enwlj7/wireplumber-0.5.8-1.fc43.src.rpm'
tool-versioncsmock-3.8.1.20250422.172604.g26bc3d6-1.el9