2026-05-04 08:30 ftp://ftp.de.debian.org/debian/pool/main/p/pnmixer/pnmixer_0.7.2.orig.tar.gz cppcheck-options: --library=posix --library=gnu --library=bsd --library=gtk --library=motif --inconclusive --enable=style,information --inline-suppr --template=daca2 --disable=missingInclude --suppress=unmatchedSuppression --check-library --debug-warnings --suppress=autoNoType --suppress=valueFlowBailout --suppress=bailoutUninitVar --suppress=symbolDatabaseWarning --suppress=normalCheckLevelConditionExpressions -D__GNUC__ --platform=unix64 -j1 platform: Linux-6.8.0-111-generic-x86_64-with-glibc2.39 python: 3.12.3 client-version: 1.3.70 compiler: g++ (Ubuntu 14.2.0-4ubuntu2~24.04.1) 14.2.0 cppcheck: head 2.20.0 head-info: e5c4a73 (2026-05-01 11:10:43 +0200) count: 80 77 elapsed-time: 0.8 0.7 head-timing-info: old-timing-info: head results: pnmixer-0.7.2/src/alsa.c:116:41: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SND_MIXER_SCHN_FRONT_RIGHT [valueFlowBailoutIncompleteVar] pnmixer-0.7.2/src/alsa.c:177:41: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SND_MIXER_SCHN_FRONT_RIGHT [valueFlowBailoutIncompleteVar] pnmixer-0.7.2/src/alsa.c:239:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SND_CTL_TLV_DB_GAIN_MUTE [valueFlowBailoutIncompleteVar] pnmixer-0.7.2/src/alsa.c:268:41: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SND_MIXER_SCHN_FRONT_RIGHT [valueFlowBailoutIncompleteVar] pnmixer-0.7.2/src/alsa.c:335:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable pollfd [valueFlowBailoutIncompleteVar] pnmixer-0.7.2/src/alsa.c:599:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable fd [valueFlowBailoutIncompleteVar] pnmixer-0.7.2/src/alsa.c:677:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable G_IO_ERR [valueFlowBailoutIncompleteVar] pnmixer-0.7.2/src/alsa.c:55:59: warning: Either the condition 'strerr' is redundant or there is possible null pointer dereference: strerr. [nullPointerRedundantCheck] pnmixer-0.7.2/src/alsa.c:52:20: note: Assuming that condition 'strerr' is not redundant pnmixer-0.7.2/src/alsa.c:55:59: note: Null pointer dereference pnmixer-0.7.2/src/alsa.c:850:70: style:inconclusive: Function 'alsa_card_install_callback' argument 3 names different: declaration '' definition 'user_data'. [funcArgNamesDifferentUnnamed] pnmixer-0.7.2/src/alsa.c:891:27: style:inconclusive: Function 'alsa_card_new' argument 1 names different: declaration 'card' definition 'card_name'. [funcArgNamesDifferent] pnmixer-0.7.2/src/alsa.h:27:37: note: Function 'alsa_card_new' argument 1 names different: declaration 'card' definition 'card_name'. pnmixer-0.7.2/src/alsa.c:891:27: note: Function 'alsa_card_new' argument 1 names different: declaration 'card' definition 'card_name'. pnmixer-0.7.2/src/alsa.c:592:47: style: Parameter 'data' can be declared as pointer to const [constParameterPointer] pnmixer-0.7.2/src/alsa.c:737:30: style: Parameter 'card' can be declared as pointer to const [constParameterPointer] pnmixer-0.7.2/src/audio.c:318:73: style:inconclusive: Function 'audio_signals_disconnect' argument 3 names different: declaration '' definition 'data'. [funcArgNamesDifferentUnnamed] pnmixer-0.7.2/src/audio.c:337:70: style:inconclusive: Function 'audio_signals_connect' argument 3 names different: declaration '' definition 'data'. [funcArgNamesDifferentUnnamed] pnmixer-0.7.2/src/audio.c:500:56: style:inconclusive: Function 'audio_set_volume' argument 3 names different: declaration 'volume' definition 'new_volume'. [funcArgNamesDifferent] pnmixer-0.7.2/src/audio.h:54:61: note: Function 'audio_set_volume' argument 3 names different: declaration 'volume' definition 'new_volume'. pnmixer-0.7.2/src/audio.c:500:56: note: Function 'audio_set_volume' argument 3 names different: declaration 'volume' definition 'new_volume'. pnmixer-0.7.2/src/audio.c:500:73: style:inconclusive: Function 'audio_set_volume' argument 4 names different: declaration 'direction' definition 'dir'. [funcArgNamesDifferent] pnmixer-0.7.2/src/audio.h:54:74: note: Function 'audio_set_volume' argument 4 names different: declaration 'direction' definition 'dir'. pnmixer-0.7.2/src/audio.c:500:73: note: Function 'audio_set_volume' argument 4 names different: declaration 'direction' definition 'dir'. pnmixer-0.7.2/src/audio.c:739:36: style:inconclusive: Function 'audio_get_channel_list' argument 1 names different: declaration 'card' definition 'card_name'. [funcArgNamesDifferent] pnmixer-0.7.2/src/audio.h:25:44: note: Function 'audio_get_channel_list' argument 1 names different: declaration 'card' definition 'card_name'. pnmixer-0.7.2/src/audio.c:739:36: note: Function 'audio_get_channel_list' argument 1 names different: declaration 'card' definition 'card_name'. pnmixer-0.7.2/src/audio.c:147:33: style: Parameter 'h1' can be declared as pointer to const. However it seems that 'audio_handler_cmp' is a callback function, if 'h1' is declared with const you might also need to cast function pointer(s). [constParameterCallback] pnmixer-0.7.2/src/audio.c:180:59: note: You might need to cast the function pointer here pnmixer-0.7.2/src/audio.c:147:33: note: Parameter 'h1' can be declared as pointer to const pnmixer-0.7.2/src/audio.c:147:51: style: Parameter 'h2' can be declared as pointer to const. However it seems that 'audio_handler_cmp' is a callback function, if 'h2' is declared with const you might also need to cast function pointer(s). [constParameterCallback] pnmixer-0.7.2/src/audio.c:180:59: note: You might need to cast the function pointer here pnmixer-0.7.2/src/audio.c:147:51: note: Parameter 'h2' can be declared as pointer to const pnmixer-0.7.2/src/audio.c:158:10: style: Variable 'item' can be declared as pointer to const [constVariablePointer] pnmixer-0.7.2/src/audio.c:353:23: style: Parameter 'audio' can be declared as pointer to const [constParameterPointer] pnmixer-0.7.2/src/audio.c:366:26: style: Parameter 'audio' can be declared as pointer to const [constParameterPointer] pnmixer-0.7.2/src/hotkey.c:160:21: style:inconclusive: Function 'hotkey_free' argument 1 names different: declaration 'key' definition 'hotkey'. [funcArgNamesDifferent] pnmixer-0.7.2/src/hotkey.h:35:26: note: Function 'hotkey_free' argument 1 names different: declaration 'key' definition 'hotkey'. pnmixer-0.7.2/src/hotkey.c:160:21: note: Function 'hotkey_free' argument 1 names different: declaration 'key' definition 'hotkey'. pnmixer-0.7.2/src/hotkey.c:52:43: style: Parameter 'disp' can be declared as pointer to const. However it seems that 'grab_error_handler' is a callback function, if 'disp' is declared with const you might also need to cast function pointer(s). [constParameterCallback] pnmixer-0.7.2/src/hotkey.c:106:30: note: You might need to cast the function pointer here pnmixer-0.7.2/src/hotkey.c:52:43: note: Parameter 'disp' can be declared as pointer to const pnmixer-0.7.2/src/hotkey.c:52:76: style: Parameter 'ev' can be declared as pointer to const. However it seems that 'grab_error_handler' is a callback function, if 'ev' is declared with const you might also need to cast function pointer(s). [constParameterCallback] pnmixer-0.7.2/src/hotkey.c:106:30: note: You might need to cast the function pointer here pnmixer-0.7.2/src/hotkey.c:52:76: note: Parameter 'ev' can be declared as pointer to const pnmixer-0.7.2/src/hotkey.c:138:24: style: Parameter 'hotkey' can be declared as pointer to const [constParameterPointer] pnmixer-0.7.2/src/hotkeys.c:98:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable KeyPress [valueFlowBailoutIncompleteVar] pnmixer-0.7.2/src/hotkeys.c:88:13: style: Variable 'xevent' can be declared as pointer to const [constVariablePointer] pnmixer-0.7.2/src/main.c:123:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GTK_RESPONSE_OK [valueFlowBailoutIncompleteVar] pnmixer-0.7.2/src/main.c:204:34: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GTK_DIALOG_DESTROY_WITH_PARENT [valueFlowBailoutIncompleteVar] pnmixer-0.7.2/src/main.c:232:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GTK_RESPONSE_NO [valueFlowBailoutIncompleteVar] pnmixer-0.7.2/src/main.c:298:35: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GTK_RESPONSE_YES [valueFlowBailoutIncompleteVar] pnmixer-0.7.2/src/main.c:335:61: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GETTEXT_PACKAGE [valueFlowBailoutIncompleteVar] pnmixer-0.7.2/src/main.c:188:30: style:inconclusive: Function 'run_error_dialog' argument 1 names different: declaration '' definition 'fmt'. [funcArgNamesDifferentUnnamed] pnmixer-0.7.2/src/main.c:118:39: style: Parameter 'this_dialog' can be declared as pointer to const. However it seems that 'prefs_dialog_response_cb' is a callback function, if 'this_dialog' is declared with const you might also need to cast function pointer(s). [constParameterCallback] pnmixer-0.7.2/src/main.c:156:38: note: You might need to cast the function pointer here pnmixer-0.7.2/src/main.c:118:39: note: Parameter 'this_dialog' can be declared as pointer to const pnmixer-0.7.2/src/main.c:291:44: style: Parameter 'event' can be declared as pointer to const. However it seems that 'on_audio_changed' is a callback function, if 'event' is declared with const you might also need to cast function pointer(s). [constParameterCallback] pnmixer-0.7.2/src/main.c:380:34: note: You might need to cast the function pointer here pnmixer-0.7.2/src/main.c:291:44: note: Parameter 'event' can be declared as pointer to const pnmixer-0.7.2/src/notif.c:279:33: style: Parameter 'notif' can be declared as pointer to const [constParameterPointer] pnmixer-0.7.2/src/notif.c:284:32: style: Parameter 'audio' can be declared as pointer to const [constParameterPointer] pnmixer-0.7.2/src/notif.c:290:35: style: Parameter 'notif' can be declared as pointer to const [constParameterPointer] pnmixer-0.7.2/src/prefs.c:354:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable G_FILE_TEST_EXISTS [valueFlowBailoutIncompleteVar] pnmixer-0.7.2/src/prefs.c:409:30: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable G_FILE_TEST_IS_DIR [valueFlowBailoutIncompleteVar] pnmixer-0.7.2/src/prefs.c:388:2: warning: Return value of function g_file_set_contents() is not used. [ignoredReturnValue] pnmixer-0.7.2/src/prefs.c:189:4: error: Memory leak: ret [memleak] pnmixer-0.7.2/src/prefs.c:193:2: error: Memory leak: ret [memleak] pnmixer-0.7.2/src/prefs.c:214:3: error: Memory leak: ret [memleak] pnmixer-0.7.2/src/support-intl.c:29:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LC_ALL [valueFlowBailoutIncompleteVar] pnmixer-0.7.2/src/support-log.c:72:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] pnmixer-0.7.2/src/support-ui.c:63:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable G_FILE_TEST_EXISTS [valueFlowBailoutIncompleteVar] pnmixer-0.7.2/src/support-ui.c:90:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable G_FILE_TEST_EXISTS [valueFlowBailoutIncompleteVar] pnmixer-0.7.2/src/ui-about-dialog.c:121:37: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PACKAGE_VERSION [valueFlowBailoutIncompleteVar] pnmixer-0.7.2/src/ui-hotkey-dialog.c:117:42: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GTK_RESPONSE_OK [valueFlowBailoutIncompleteVar] pnmixer-0.7.2/src/ui-hotkey-dialog.c:170:31: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GDK_CURRENT_TIME [valueFlowBailoutIncompleteVar] pnmixer-0.7.2/src/ui-popup-menu.c:135:51: style: Parameter 'item' can be declared as pointer to const [constParameterPointer] pnmixer-0.7.2/src/ui-popup-menu.c:136:49: style: Parameter 'menu' can be declared as pointer to const [constParameterPointer] pnmixer-0.7.2/src/ui-popup-menu.c:148:51: style: Parameter 'item' can be declared as pointer to const [constParameterPointer] pnmixer-0.7.2/src/ui-popup-menu.c:149:49: style: Parameter 'menu' can be declared as pointer to const [constParameterPointer] pnmixer-0.7.2/src/ui-popup-menu.c:174:51: style: Parameter 'item' can be declared as pointer to const [constParameterPointer] pnmixer-0.7.2/src/ui-popup-menu.c:175:49: style: Parameter 'menu' can be declared as pointer to const [constParameterPointer] pnmixer-0.7.2/src/ui-popup-menu.c:188:58: style: Parameter 'event' can be declared as pointer to const. However it seems that 'on_audio_changed' is a callback function, if 'event' is declared with const you might also need to cast function pointer(s). [constParameterCallback] pnmixer-0.7.2/src/ui-popup-menu.c:337:31: note: You might need to cast the function pointer here pnmixer-0.7.2/src/ui-popup-menu.c:188:58: note: Parameter 'event' can be declared as pointer to const pnmixer-0.7.2/src/ui-popup-window.c:220:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GDK_CURRENT_TIME [valueFlowBailoutIncompleteVar] pnmixer-0.7.2/src/ui-popup-window.c:269:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GDK_KEY_Escape [valueFlowBailoutIncompleteVar] pnmixer-0.7.2/src/ui-popup-window.c:247:66: style: Parameter 'event' can be declared as pointer to const [constParameterPointer] pnmixer-0.7.2/src/ui-popup-window.c:346:58: style: Parameter 'event' can be declared as pointer to const. However it seems that 'on_audio_changed' is a callback function, if 'event' is declared with const you might also need to cast function pointer(s). [constParameterCallback] pnmixer-0.7.2/src/ui-popup-window.c:483:31: note: You might need to cast the function pointer here pnmixer-0.7.2/src/ui-popup-window.c:346:58: note: Parameter 'event' can be declared as pointer to const pnmixer-0.7.2/src/ui-prefs-dialog.c:332:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GDK_2BUTTON_PRESS [valueFlowBailoutIncompleteVar] pnmixer-0.7.2/src/ui-prefs-dialog.c:93:25: style: Variable 'item' can be declared as pointer to const [constVariablePointer] pnmixer-0.7.2/src/ui-prefs-dialog.c:133:22: style: Variable 'item' can be declared as pointer to const [constVariablePointer] pnmixer-0.7.2/src/ui-prefs-dialog.c:320:51: style: Parameter 'widget' can be declared as pointer to const [constParameterPointer] pnmixer-0.7.2/src/ui-prefs-dialog.c:320:75: style: Parameter 'event' can be declared as pointer to const [constParameterPointer] pnmixer-0.7.2/src/ui-prefs-dialog.c:404:61: style: Parameter 'button' can be declared as pointer to const [constParameterPointer] pnmixer-0.7.2/src/ui-prefs-dialog.c:405:57: style: Parameter 'dialog' can be declared as pointer to const [constParameterPointer] pnmixer-0.7.2/src/ui-prefs-dialog.c:433:44: style: Parameter 'event' can be declared as pointer to const. However it seems that 'on_audio_changed' is a callback function, if 'event' is declared with const you might also need to cast function pointer(s). [constParameterCallback] pnmixer-0.7.2/src/ui-prefs-dialog.c:932:31: note: You might need to cast the function pointer here pnmixer-0.7.2/src/ui-prefs-dialog.c:433:44: note: Parameter 'event' can be declared as pointer to const pnmixer-0.7.2/src/ui-tray-icon.c:251:2: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GDK_COLORSPACE_RGB [valueFlowBailoutIncompleteVar] pnmixer-0.7.2/src/ui-tray-icon.c:470:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GDK_SCROLL_UP [valueFlowBailoutIncompleteVar] pnmixer-0.7.2/src/ui-tray-icon.c:536:28: style:inconclusive: Function 'tray_icon_reload' argument 1 names different: declaration 'tray_icon' definition 'icon'. [funcArgNamesDifferent] pnmixer-0.7.2/src/ui-tray-icon.h:26:33: note: Function 'tray_icon_reload' argument 1 names different: declaration 'tray_icon' definition 'icon'. pnmixer-0.7.2/src/ui-tray-icon.c:536:28: note: Function 'tray_icon_reload' argument 1 names different: declaration 'tray_icon' definition 'icon'. pnmixer-0.7.2/src/ui-tray-icon.c:565:29: style:inconclusive: Function 'tray_icon_destroy' argument 1 names different: declaration 'tray_icon' definition 'icon'. [funcArgNamesDifferent] pnmixer-0.7.2/src/ui-tray-icon.h:25:34: note: Function 'tray_icon_destroy' argument 1 names different: declaration 'tray_icon' definition 'icon'. pnmixer-0.7.2/src/ui-tray-icon.c:565:29: note: Function 'tray_icon_destroy' argument 1 names different: declaration 'tray_icon' definition 'icon'. pnmixer-0.7.2/src/ui-tray-icon.c:391:42: style: Parameter 'status_icon' can be declared as pointer to const. However it seems that 'on_activate' is a callback function, if 'status_icon' is declared with const you might also need to cast function pointer(s). [constParameterCallback] pnmixer-0.7.2/src/ui-tray-icon.c:598:2: note: You might need to cast the function pointer here pnmixer-0.7.2/src/ui-tray-icon.c:391:42: note: Parameter 'status_icon' can be declared as pointer to const pnmixer-0.7.2/src/ui-tray-icon.c:392:37: style: Parameter 'icon' can be declared as pointer to const. However it seems that 'on_activate' is a callback function, if 'icon' is declared with const you might also need to cast function pointer(s). [constParameterCallback] pnmixer-0.7.2/src/ui-tray-icon.c:598:2: note: You might need to cast the function pointer here pnmixer-0.7.2/src/ui-tray-icon.c:392:37: note: Parameter 'icon' can be declared as pointer to const pnmixer-0.7.2/src/ui-tray-icon.c:427:41: style: Parameter 'event' can be declared as pointer to const. However it seems that 'on_button_release_event' is a callback function, if 'event' is declared with const you might also need to cast function pointer(s). [constParameterCallback] pnmixer-0.7.2/src/ui-tray-icon.c:604:2: note: You might need to cast the function pointer here pnmixer-0.7.2/src/ui-tray-icon.c:427:41: note: Parameter 'event' can be declared as pointer to const pnmixer-0.7.2/src/ui-tray-icon.c:467:75: style: Parameter 'event' can be declared as pointer to const. However it seems that 'on_scroll_event' is a callback function, if 'event' is declared with const you might also need to cast function pointer(s). [constParameterCallback] pnmixer-0.7.2/src/ui-tray-icon.c:607:2: note: You might need to cast the function pointer here pnmixer-0.7.2/src/ui-tray-icon.c:467:75: note: Parameter 'event' can be declared as pointer to const pnmixer-0.7.2/src/ui-tray-icon.c:519:58: style: Parameter 'event' can be declared as pointer to const. However it seems that 'on_audio_changed' is a callback function, if 'event' is declared with const you might also need to cast function pointer(s). [constParameterCallback] pnmixer-0.7.2/src/ui-tray-icon.c:615:31: note: You might need to cast the function pointer here pnmixer-0.7.2/src/ui-tray-icon.c:519:58: note: Parameter 'event' can be declared as pointer to const diff: head pnmixer-0.7.2/src/alsa.c:850:70: style:inconclusive: Function 'alsa_card_install_callback' argument 3 names different: declaration '' definition 'user_data'. [funcArgNamesDifferentUnnamed] 2.20.0 pnmixer-0.7.2/src/alsa.c:850:70: style:inconclusive: Function 'alsa_card_install_callback' argument 3 names different: declaration 'data' definition 'user_data'. [funcArgNamesDifferent] pnmixer-0.7.2/src/alsa.h:37:75: note: Function 'alsa_card_install_callback' argument 3 names different: declaration 'data' definition 'user_data'. pnmixer-0.7.2/src/alsa.c:850:70: note: Function 'alsa_card_install_callback' argument 3 names different: declaration 'data' definition 'user_data'. head pnmixer-0.7.2/src/audio.c:318:73: style:inconclusive: Function 'audio_signals_disconnect' argument 3 names different: declaration '' definition 'data'. [funcArgNamesDifferentUnnamed] head pnmixer-0.7.2/src/audio.c:337:70: style:inconclusive: Function 'audio_signals_connect' argument 3 names different: declaration '' definition 'data'. [funcArgNamesDifferentUnnamed] head pnmixer-0.7.2/src/main.c:188:30: style:inconclusive: Function 'run_error_dialog' argument 1 names different: declaration '' definition 'fmt'. [funcArgNamesDifferentUnnamed] DONE