2025-07-06 15:05 ftp://ftp.de.debian.org/debian/pool/main/w/whysynth/whysynth_20170701.orig.tar.gz cppcheck-options: --library=posix --library=gnu --library=bsd --library=gtk --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 -j6 platform: Linux-6.1.0-37-amd64-x86_64-with-glibc2.36 python: 3.11.2 client-version: 1.3.67 compiler: g++ (Debian 12.2.0-14+deb12u1) 12.2.0 cppcheck: head 2.17.0 head-info: 9b11b6b (2025-07-04 16:03:30 +0200) count: 278 279 elapsed-time: 11.8 12.0 head-timing-info: old-timing-info: head results: whysynth-20170701/src/whysynth_voice_inline.h:26:60: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RAND_MAX [valueFlowBailoutIncompleteVar] whysynth-20170701/src/whysynth_voice_inline.h:88:54: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable max_key [valueFlowBailoutIncompleteVar] whysynth-20170701/src/dssp_synth.c:572:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable DSSI_PROJECT_DIRECTORY_KEY [valueFlowBailoutIncompleteVar] whysynth-20170701/src/dssp_synth.c:708:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable DSSI_NONE [valueFlowBailoutIncompleteVar] whysynth-20170701/src/dssp_synth.c:767:47: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LADSPA_Data [valueFlowBailoutIncompleteVar] whysynth-20170701/src/dssp_synth.c:873:45: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LADSPA_Descriptor [valueFlowBailoutIncompleteVar] whysynth-20170701/src/effect_reverb.c:185:55: style:inconclusive: Function 'effect_reverb_process' argument 2 names different: declaration 'sample_count' definition 'frames'. [funcArgNamesDifferent] whysynth-20170701/src/effects.h:62:60: note: Function 'effect_reverb_process' argument 2 names different: declaration 'sample_count' definition 'frames'. whysynth-20170701/src/effect_reverb.c:185:55: note: Function 'effect_reverb_process' argument 2 names different: declaration 'sample_count' definition 'frames'. whysynth-20170701/src/effect_reverb.c:266:54: style:inconclusive: Function 'effect_delay_process' argument 2 names different: declaration 'sample_count' definition 'frames'. [funcArgNamesDifferent] whysynth-20170701/src/effects.h:58:59: note: Function 'effect_delay_process' argument 2 names different: declaration 'sample_count' definition 'frames'. whysynth-20170701/src/effect_reverb.c:266:54: note: Function 'effect_delay_process' argument 2 names different: declaration 'sample_count' definition 'frames'. whysynth-20170701/src/effect_reverb.h:97:27: style: Parameter 'this' can be declared as pointer to const [constParameterPointer] whysynth-20170701/src/effect_reverb.h:204:23: style: float result is assigned to double variable. If the variable is double to avoid loss of information, then you have loss of information. [truncLongCastAssignment] whysynth-20170701/src/effect_screverb.c:95:35: style: Parameter 'synth' can be declared as pointer to const [constParameterPointer] whysynth-20170701/src/effect_screverb.c:178:12: style: Variable 'nBytes' is assigned a value that is never used. [unreadVariable] whysynth-20170701/src/agran_oscillator.c:337:45: style:inconclusive: Function 'free_grain_envelopes' argument 1 names different: declaration 'envelopes' definition 'env'. [funcArgNamesDifferent] whysynth-20170701/src/agran_oscillator.h:96:50: note: Function 'free_grain_envelopes' argument 1 names different: declaration 'envelopes' definition 'env'. whysynth-20170701/src/agran_oscillator.c:337:45: note: Function 'free_grain_envelopes' argument 1 names different: declaration 'envelopes' definition 'env'. whysynth-20170701/src/agran_oscillator.c:174:23: style: Variable 'wave0' can be declared as pointer to const [constVariablePointer] whysynth-20170701/src/agran_oscillator.c:175:23: style: Variable 'wave1' can be declared as pointer to const [constVariablePointer] whysynth-20170701/src/agran_oscillator.c:351:34: style: Variable 'desc' can be declared as pointer to const [constVariablePointer] whysynth-20170701/src/gtkknob.c:111:62: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable G_PARAM_READWRITE [valueFlowBailoutIncompleteVar] whysynth-20170701/src/whysynth_voice_inline.h:65:32: style: Parameter 'p' can be declared as pointer to const [constParameterPointer] whysynth-20170701/src/gtkknob.c:124:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GTK_UPDATE_CONTINUOUS [valueFlowBailoutIncompleteVar] whysynth-20170701/src/gtkknob.c:159:39: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable finalize [valueFlowBailoutIncompleteVar] whysynth-20170701/src/gtkknob.c:251:35: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GTK_REALIZED [valueFlowBailoutIncompleteVar] whysynth-20170701/src/gtkknob.c:459:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GDK_BUTTON1_MASK [valueFlowBailoutIncompleteVar] whysynth-20170701/src/gtkknob.c:482:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GTK_UPDATE_DELAYED [valueFlowBailoutIncompleteVar] whysynth-20170701/src/gtkknob.c:554:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GTK_UPDATE_CONTINUOUS [valueFlowBailoutIncompleteVar] whysynth-20170701/src/gtkknob.c:676:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable CAIRO_STATUS_SUCCESS [valueFlowBailoutIncompleteVar] whysynth-20170701/src/gui_images.c:87:43: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable bitmap_about_xpm [valueFlowBailoutIncompleteVar] whysynth-20170701/src/gui_images.c:93:43: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable bitmap_logo_xpm [valueFlowBailoutIncompleteVar] whysynth-20170701/src/gtkknob.c:83:36: style:inconclusive: Function 'gtk_knob_class_init' argument 1 names different: declaration 'klass' definition 'class'. [funcArgNamesDifferent] whysynth-20170701/src/gtkknob.c:60:55: note: Function 'gtk_knob_class_init' argument 1 names different: declaration 'klass' definition 'class'. whysynth-20170701/src/gtkknob.c:83:36: note: Function 'gtk_knob_class_init' argument 1 names different: declaration 'klass' definition 'class'. whysynth-20170701/src/gtkknob.c:303:29: style:inconclusive: Function 'gtk_knob_expose' argument 1 names different: declaration 'knob' definition 'widget'. [funcArgNamesDifferent] whysynth-20170701/src/gtkknob.c:67:52: note: Function 'gtk_knob_expose' argument 1 names different: declaration 'knob' definition 'widget'. whysynth-20170701/src/gtkknob.c:303:29: note: Function 'gtk_knob_expose' argument 1 names different: declaration 'knob' definition 'widget'. whysynth-20170701/src/gtkknob.c:490:63: style:inconclusive: Function 'gtk_knob_update_mouse' argument 4 names different: declaration 'absolute' definition 'first_button'. [funcArgNamesDifferent] whysynth-20170701/src/gtkknob.c:72:81: note: Function 'gtk_knob_update_mouse' argument 4 names different: declaration 'absolute' definition 'first_button'. whysynth-20170701/src/gtkknob.c:490:63: note: Function 'gtk_knob_update_mouse' argument 4 names different: declaration 'absolute' definition 'first_button'. whysynth-20170701/src/gtkknob.c:340:59: style: Parameter 'event' can be declared as pointer to const. However it seems that 'gtk_knob_button_press' is a callback function, if 'event' is declared with const you might also need to cast function pointer(s). [constParameterCallback] whysynth-20170701/src/gtkknob.c:98:40: note: You might need to cast the function pointer here whysynth-20170701/src/gtkknob.c:340:59: note: Parameter 'event' can be declared as pointer to const whysynth-20170701/src/gtkknob.c:377:61: style: Parameter 'event' can be declared as pointer to const. However it seems that 'gtk_knob_button_release' is a callback function, if 'event' is declared with const you might also need to cast function pointer(s). [constParameterCallback] whysynth-20170701/src/gtkknob.c:99:42: note: You might need to cast the function pointer here whysynth-20170701/src/gtkknob.c:377:61: note: Parameter 'event' can be declared as pointer to const whysynth-20170701/src/gtkknob.c:436:60: style: Parameter 'event' can be declared as pointer to const. However it seems that 'gtk_knob_motion_notify' is a callback function, if 'event' is declared with const you might also need to cast function pointer(s). [constParameterCallback] whysynth-20170701/src/gtkknob.c:100:41: note: You might need to cast the function pointer here whysynth-20170701/src/gtkknob.c:436:60: note: Parameter 'event' can be declared as pointer to const whysynth-20170701/src/gtkknob.c:573:44: style: Parameter 'adjustment' can be declared as pointer to const. However it seems that 'gtk_knob_adjustment_changed' is a callback function, if 'adjustment' is declared with const you might also need to cast function pointer(s). [constParameterCallback] whysynth-20170701/src/gtkknob.c:223:5: note: You might need to cast the function pointer here whysynth-20170701/src/gtkknob.c:573:44: note: Parameter 'adjustment' can be declared as pointer to const whysynth-20170701/src/gtkknob.c:588:51: style: Parameter 'adjustment' can be declared as pointer to const. However it seems that 'gtk_knob_adjustment_value_changed' is a callback function, if 'adjustment' is declared with const you might also need to cast function pointer(s). [constParameterCallback] whysynth-20170701/src/gtkknob.c:225:5: note: You might need to cast the function pointer here whysynth-20170701/src/gtkknob.c:588:51: note: Parameter 'adjustment' can be declared as pointer to const whysynth-20170701/src/dssp_synth.c:903:13: warning: If memory allocation fails, then there is a possible null pointer dereference: port_descriptors [nullPointerOutOfMemory] whysynth-20170701/src/dssp_synth.c:888:39: note: Assuming allocation function fails whysynth-20170701/src/dssp_synth.c:887:28: note: Assignment 'port_descriptors=(LADSPA_PortDescriptor*)calloc(y_LADSPA_descriptor->PortCount,sizeof(LADSPA_PortDescriptor))', assigned value is 0 whysynth-20170701/src/dssp_synth.c:903:13: note: Null pointer dereference whysynth-20170701/src/dssp_synth.c:904:13: warning: If memory allocation fails, then there is a possible null pointer dereference: port_names [nullPointerOutOfMemory] whysynth-20170701/src/dssp_synth.c:899:38: note: Assuming allocation function fails whysynth-20170701/src/dssp_synth.c:899:22: note: Assignment 'port_names=(char**)calloc(y_LADSPA_descriptor->PortCount,sizeof(char*))', assigned value is 0 whysynth-20170701/src/dssp_synth.c:904:13: note: Null pointer dereference whysynth-20170701/src/dssp_synth.c:905:13: warning: If memory allocation fails, then there is a possible null pointer dereference: port_range_hints [nullPointerOutOfMemory] whysynth-20170701/src/dssp_synth.c:894:39: note: Assuming allocation function fails whysynth-20170701/src/dssp_synth.c:893:28: note: Assignment 'port_range_hints=(LADSPA_PortRangeHint*)calloc(y_LADSPA_descriptor->PortCount,sizeof(LADSPA_PortRangeHint))', assigned value is 0 whysynth-20170701/src/dssp_synth.c:905:13: note: Null pointer dereference whysynth-20170701/src/dssp_synth.c:906:13: warning: If memory allocation fails, then there is a possible null pointer dereference: port_range_hints [nullPointerOutOfMemory] whysynth-20170701/src/dssp_synth.c:894:39: note: Assuming allocation function fails whysynth-20170701/src/dssp_synth.c:893:28: note: Assignment 'port_range_hints=(LADSPA_PortRangeHint*)calloc(y_LADSPA_descriptor->PortCount,sizeof(LADSPA_PortRangeHint))', assigned value is 0 whysynth-20170701/src/dssp_synth.c:906:13: note: Null pointer dereference whysynth-20170701/src/dssp_synth.c:715:51: style: Parameter 'event' can be declared as pointer to const [constParameterPointer] whysynth-20170701/src/gui_main.c:106:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] whysynth-20170701/src/gui_main.c:165:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable s [valueFlowBailoutIncompleteVar] whysynth-20170701/src/gui_main.c:212:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable i [valueFlowBailoutIncompleteVar] whysynth-20170701/src/gui_main.c:233:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable i [valueFlowBailoutIncompleteVar] whysynth-20170701/src/gui_main.c:294:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable S_IRWXU [valueFlowBailoutIncompleteVar] whysynth-20170701/src/gui_main.c:308:36: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PATH_MAX [valueFlowBailoutIncompleteVar] whysynth-20170701/src/gui_main.c:332:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] whysynth-20170701/src/gui_main.c:77:22: style: Parameter 'base_path' can be declared as pointer to const [constParameterPointer] whysynth-20170701/src/gui_main.c:77:39: style: Parameter 'method' can be declared as pointer to const [constParameterPointer] whysynth-20170701/src/gui_main.c:157:11: style: Variable 'key' can be declared as pointer to const [constVariablePointer] whysynth-20170701/src/gui_main.c:157:17: style: Variable 'value' can be declared as pointer to const [constVariablePointer] whysynth-20170701/src/gui_main.c:202:51: style: Parameter 'user_data' can be declared as pointer to const. However it seems that 'osc_control_handler' is a callback function, if 'user_data' is declared with const you might also need to cast function pointer(s). [constParameterCallback] whysynth-20170701/src/gui_main.c:371:62: note: You might need to cast the function pointer here whysynth-20170701/src/gui_main.c:202:51: note: Parameter 'user_data' can be declared as pointer to const whysynth-20170701/src/gui_main.c:224:51: style: Parameter 'user_data' can be declared as pointer to const. However it seems that 'osc_program_handler' is a callback function, if 'user_data' is declared with const you might also need to cast function pointer(s). [constParameterCallback] whysynth-20170701/src/gui_main.c:373:62: note: You might need to cast the function pointer here whysynth-20170701/src/gui_main.c:224:51: note: Parameter 'user_data' can be declared as pointer to const whysynth-20170701/src/gui_data.c:670:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] whysynth-20170701/src/gui_data.c:906:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] whysynth-20170701/src/gui_callbacks.c:99:52: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable value [valueFlowBailoutIncompleteVar] whysynth-20170701/src/gui_callbacks.c:114:49: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable upper [valueFlowBailoutIncompleteVar] whysynth-20170701/src/gui_callbacks.c:140:54: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable value [valueFlowBailoutIncompleteVar] whysynth-20170701/src/gui_callbacks.c:199:72: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable value [valueFlowBailoutIncompleteVar] whysynth-20170701/src/gui_callbacks.c:277:51: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable value [valueFlowBailoutIncompleteVar] whysynth-20170701/src/gui_callbacks.c:292:76: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable value [valueFlowBailoutIncompleteVar] whysynth-20170701/src/gui_callbacks.c:370:66: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable value [valueFlowBailoutIncompleteVar] whysynth-20170701/src/gui_callbacks.c:391:74: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable value [valueFlowBailoutIncompleteVar] whysynth-20170701/src/gui_callbacks.c:663:48: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable value [valueFlowBailoutIncompleteVar] whysynth-20170701/src/gui_callbacks.c:675:45: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable active [valueFlowBailoutIncompleteVar] whysynth-20170701/src/gui_callbacks.c:889:58: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable value [valueFlowBailoutIncompleteVar] whysynth-20170701/src/gui_callbacks.c:1042:56: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable value [valueFlowBailoutIncompleteVar] whysynth-20170701/src/gui_callbacks.c:1054:72: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable value [valueFlowBailoutIncompleteVar] whysynth-20170701/src/gui_callbacks.c:1106:43: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable value [valueFlowBailoutIncompleteVar] whysynth-20170701/src/gui_callbacks.c:1116:52: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable value [valueFlowBailoutIncompleteVar] whysynth-20170701/src/gui_callbacks.c:1565:39: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable value [valueFlowBailoutIncompleteVar] whysynth-20170701/src/gui_callbacks.c:1949:68: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable value [valueFlowBailoutIncompleteVar] whysynth-20170701/src/gui_callbacks.c:1982:68: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable value [valueFlowBailoutIncompleteVar] whysynth-20170701/src/gui_callbacks.c:2291:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable value [valueFlowBailoutIncompleteVar] whysynth-20170701/src/gui_callbacks.c:2434:52: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID [valueFlowBailoutIncompleteVar] whysynth-20170701/src/gui_interface.c:225:35: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GTK_WINDOW_TOPLEVEL [valueFlowBailoutIncompleteVar] whysynth-20170701/src/gui_interface.c:742:36: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GTK_WINDOW_TOPLEVEL [valueFlowBailoutIncompleteVar] whysynth-20170701/src/gui_interface.c:807:53: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GTK_FILE_CHOOSER_ACTION_OPEN [valueFlowBailoutIncompleteVar] whysynth-20170701/src/gui_interface.c:871:53: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GTK_FILE_CHOOSER_ACTION_SAVE [valueFlowBailoutIncompleteVar] whysynth-20170701/src/gui_interface.c:984:53: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GTK_FILE_CHOOSER_ACTION_OPEN [valueFlowBailoutIncompleteVar] whysynth-20170701/src/gui_interface.c:1042:37: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GTK_WINDOW_TOPLEVEL [valueFlowBailoutIncompleteVar] whysynth-20170701/src/gui_interface.c:1167:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] whysynth-20170701/src/gui_interface.c:1317:55: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable priority [valueFlowBailoutIncompleteVar] whysynth-20170701/src/gui_interface.c:1571:51: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GTK_FILL [valueFlowBailoutIncompleteVar] whysynth-20170701/src/gui_interface.c:1591:43: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GTK_FILL [valueFlowBailoutIncompleteVar] whysynth-20170701/src/gui_interface.c:1710:43: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GTK_FILL [valueFlowBailoutIncompleteVar] whysynth-20170701/src/gui_interface.c:1761:43: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GTK_FILL [valueFlowBailoutIncompleteVar] whysynth-20170701/src/gui_interface.c:1810:43: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GTK_FILL [valueFlowBailoutIncompleteVar] whysynth-20170701/src/gui_interface.c:1873:35: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GTK_WINDOW_TOPLEVEL [valueFlowBailoutIncompleteVar] whysynth-20170701/src/gui_interface.c:2617:49: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GTK_WINDOW_TOPLEVEL [valueFlowBailoutIncompleteVar] whysynth-20170701/src/padsynth.c:127:46: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable max_key [valueFlowBailoutIncompleteVar] whysynth-20170701/src/padsynth.c:178:36: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RAND_MAX [valueFlowBailoutIncompleteVar] whysynth-20170701/src/padsynth.c:489:20: error: Array 'ss->max_key[14]' accessed at index 14, which is out of bounds. [arrayIndexOutOfBounds] whysynth-20170701/src/padsynth.c:485:19: note: Assuming that condition 'i<14' is not redundant whysynth-20170701/src/padsynth.c:489:20: note: Array index out of bounds whysynth-20170701/src/padsynth.c:490:20: error: Array 'ss->max_key[14]' accessed at index 14, which is out of bounds. [arrayIndexOutOfBounds] whysynth-20170701/src/padsynth.c:485:5: note: After for loop, i has value 14 whysynth-20170701/src/padsynth.c:490:20: note: Array index out of bounds whysynth-20170701/src/padsynth.c:117:43: style:inconclusive: Function 'padsynth_sampletable_setup' argument 1 names different: declaration 'sampleset' definition 'ss'. [funcArgNamesDifferent] whysynth-20170701/src/padsynth.h:29:48: note: Function 'padsynth_sampletable_setup' argument 1 names different: declaration 'sampleset' definition 'ss'. whysynth-20170701/src/padsynth.c:117:43: note: Function 'padsynth_sampletable_setup' argument 1 names different: declaration 'sampleset' definition 'ss'. whysynth-20170701/src/padsynth.c:522:75: style:inconclusive: Function 'padsynth_oscillator' argument 6 names different: declaration 'w' definition 'w0'. [funcArgNamesDifferent] whysynth-20170701/src/padsynth.h:33:43: note: Function 'padsynth_oscillator' argument 6 names different: declaration 'w' definition 'w0'. whysynth-20170701/src/padsynth.c:522:75: note: Function 'padsynth_oscillator' argument 6 names different: declaration 'w' definition 'w0'. whysynth-20170701/src/padsynth.c:630:23: style: Variable 'data' can be declared as pointer to const [constVariablePointer] whysynth-20170701/src/padsynth.c:662:23: style: Variable 'data0' can be declared as pointer to const [constVariablePointer] whysynth-20170701/src/padsynth.c:663:23: style: Variable 'data1' can be declared as pointer to const [constVariablePointer] whysynth-20170701/src/padsynth.c:713:23: style: Variable 'data' can be declared as pointer to const [constVariablePointer] whysynth-20170701/src/padsynth.c:758:23: style: Variable 'data0' can be declared as pointer to const [constVariablePointer] whysynth-20170701/src/padsynth.c:759:23: style: Variable 'data1' can be declared as pointer to const [constVariablePointer] whysynth-20170701/src/gui_data.c:222:13: style: Condition '!gui_data_write_patch(fh,&patches[i],format)' is always false [knownConditionTrueFalse] whysynth-20170701/src/gui_data.c:222:34: note: Calling function 'gui_data_write_patch' returns 1 whysynth-20170701/src/gui_data.c:222:13: note: Condition '!gui_data_write_patch(fh,&patches[i],format)' is always false whysynth-20170701/src/gui_data.c:253:13: style: Condition '!gui_data_write_patch(fh,&patches[i],1)' is always false [knownConditionTrueFalse] whysynth-20170701/src/gui_data.c:253:34: note: Calling function 'gui_data_write_patch' returns 1 whysynth-20170701/src/gui_data.c:253:13: note: Condition '!gui_data_write_patch(fh,&patches[i],1)' is always false whysynth-20170701/src/gui_data.c:861:20: warning:inconclusive: Width 3 given in format string (no. 1) is smaller than destination buffer 'buf2[91]'. [invalidScanfFormatWidth_smaller] whysynth-20170701/src/gui_data.c:275:15: error: Common realloc mistake: 'patches' nulled but not freed upon failure [memleakOnRealloc] whysynth-20170701/src/gui_data.c:1300:7: style: Variable 'j' is reassigned a value before the old one has been used. [redundantAssignment] whysynth-20170701/src/gui_data.c:1286:11: note: j is assigned whysynth-20170701/src/gui_data.c:1300:7: note: j is overwritten whysynth-20170701/src/gui_data.c:1300:7: style: Variable 'j' is reassigned a value before the old one has been used. [redundantAssignment] whysynth-20170701/src/gui_data.c:1290:11: note: j is assigned whysynth-20170701/src/gui_data.c:1300:7: note: j is overwritten whysynth-20170701/src/gui_data.c:1300:7: style: Variable 'j' is reassigned a value before the old one has been used. [redundantAssignment] whysynth-20170701/src/gui_data.c:1294:11: note: j is assigned whysynth-20170701/src/gui_data.c:1300:7: note: j is overwritten whysynth-20170701/src/gui_data.c:53:36: style: Parameter 'text' can be declared as pointer to const [constParameterPointer] whysynth-20170701/src/gui_data.c:70:53: style: Parameter 'osc' can be declared as pointer to const [constParameterPointer] whysynth-20170701/src/gui_data.c:81:53: style: Parameter 'vcf' can be declared as pointer to const [constParameterPointer] whysynth-20170701/src/gui_data.c:90:54: style: Parameter 'lfo' can be declared as pointer to const [constParameterPointer] whysynth-20170701/src/gui_data.c:98:52: style: Parameter 'eg' can be declared as pointer to const [constParameterPointer] whysynth-20170701/src/gui_data.c:208:21: style: Parameter 'filename' can be declared as pointer to const [constParameterPointer] whysynth-20170701/src/gui_data.c:657:24: style: Parameter 'name' can be declared as pointer to const [constParameterPointer] whysynth-20170701/src/gui_data.c:662:15: style: Variable 'wavename' can be declared as pointer to const [constVariablePointer] whysynth-20170701/src/sampleset.c:61:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable POLLIN [valueFlowBailoutIncompleteVar] whysynth-20170701/src/sampleset.c:168:57: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable data [valueFlowBailoutIncompleteVar] whysynth-20170701/src/gui_data.c:1205:45: style: Parameter 'data' can be declared as pointer to const [constParameterPointer] whysynth-20170701/src/gui_data.c:1205:65: style: Parameter 'wave' can be declared as pointer to const [constParameterPointer] whysynth-20170701/src/gui_data.c:1223:45: style: Parameter 'data' can be declared as pointer to const [constParameterPointer] whysynth-20170701/src/gui_data.c:1245:46: style: Parameter 'data' can be declared as pointer to const [constParameterPointer] whysynth-20170701/src/gui_callbacks.c:436:14: error: Deallocation of a pointer pointing to a string literal ("unknown import type") results in undefined behaviour. [autovarInvalidDeallocation] whysynth-20170701/src/gui_callbacks.c:413:23: note: Assignment 'message="unknown import type"', assigned value is "unknown import type" whysynth-20170701/src/gui_callbacks.c:436:14: note: Deallocating memory that was not dynamically allocated whysynth-20170701/src/gui_callbacks.c:522:26: error: Dereferencing 'a_name' after it is deallocated / released [deallocuse] whysynth-20170701/src/gui_callbacks.c:522:34: error: Dereferencing 'b_name' after it is deallocated / released [deallocuse] whysynth-20170701/src/gui_callbacks.c:523:5: error: Memory pointed to by 'a_name' is freed twice. [doubleFree] whysynth-20170701/src/gui_callbacks.c:515:5: note: Memory pointed to by 'a_name' is freed twice. whysynth-20170701/src/gui_callbacks.c:523:5: note: Memory pointed to by 'a_name' is freed twice. whysynth-20170701/src/gui_callbacks.c:524:5: error: Memory pointed to by 'b_name' is freed twice. [doubleFree] whysynth-20170701/src/gui_callbacks.c:516:5: note: Memory pointed to by 'b_name' is freed twice. whysynth-20170701/src/gui_callbacks.c:524:5: note: Memory pointed to by 'b_name' is freed twice. whysynth-20170701/src/gui_callbacks.c:81:32: warning: If memory allocation fails, then there is a possible null pointer dereference: folder [nullPointerOutOfMemory] whysynth-20170701/src/gui_callbacks.c:80:26: note: Assuming allocation function fails whysynth-20170701/src/gui_callbacks.c:80:26: note: Assignment 'folder=strdup(filename)', assigned value is 0 whysynth-20170701/src/gui_callbacks.c:81:32: note: Null pointer dereference whysynth-20170701/src/gui_callbacks.c:463:38: style:inconclusive: Function 'patches_list_sort_func' argument 4 names different: declaration 'data' definition 'userdata'. [funcArgNamesDifferent] whysynth-20170701/src/gui_callbacks.h:43:54: note: Function 'patches_list_sort_func' argument 4 names different: declaration 'data' definition 'userdata'. whysynth-20170701/src/gui_callbacks.c:463:38: note: Function 'patches_list_sort_func' argument 4 names different: declaration 'data' definition 'userdata'. whysynth-20170701/src/gui_callbacks.c:550:48: style:inconclusive: Function 'on_patches_selection_changed' argument 1 names different: declaration 'treeselection' definition 'selection'. [funcArgNamesDifferent] whysynth-20170701/src/gui_callbacks.h:44:53: note: Function 'on_patches_selection_changed' argument 1 names different: declaration 'treeselection' definition 'selection'. whysynth-20170701/src/gui_callbacks.c:550:48: note: Function 'on_patches_selection_changed' argument 1 names different: declaration 'treeselection' definition 'selection'. whysynth-20170701/src/gui_callbacks.c:574:45: style:inconclusive: Function 'on_patches_row_activated' argument 4 names different: declaration 'data' definition 'user_data'. [funcArgNamesDifferent] whysynth-20170701/src/gui_callbacks.h:46:67: note: Function 'on_patches_row_activated' argument 4 names different: declaration 'data' definition 'user_data'. whysynth-20170701/src/gui_callbacks.c:574:45: note: Function 'on_patches_row_activated' argument 4 names different: declaration 'data' definition 'user_data'. whysynth-20170701/src/gui_callbacks.c:149:58: style: Parameter 'menuitem' can be declared as pointer to const [constParameterPointer] whysynth-20170701/src/gui_callbacks.c:150:58: style: Parameter 'user_data' can be declared as pointer to const [constParameterPointer] whysynth-20170701/src/gui_callbacks.c:275:31: style: Parameter 'widget' can be declared as pointer to const [constParameterPointer] whysynth-20170701/src/gui_callbacks.c:604:31: style: Parameter 'widget' can be declared as pointer to const [constParameterPointer] whysynth-20170701/src/gui_callbacks.c:607:31: style: Variable 'ypd' can be declared as pointer to const [constVariablePointer] whysynth-20170701/src/gui_callbacks.c:660:36: style: Parameter 'widget' can be declared as pointer to const. However it seems that 'on_voice_detent_change' is a callback function, if 'widget' is declared with const you might also need to cast function pointer(s). [constParameterCallback] whysynth-20170701/src/gui_callbacks.c:1598:48: note: You might need to cast the function pointer here whysynth-20170701/src/gui_callbacks.c:660:36: note: Parameter 'widget' can be declared as pointer to const whysynth-20170701/src/gui_callbacks.c:707:34: style: Parameter 'widget' can be declared as pointer to const [constParameterPointer] whysynth-20170701/src/gui_callbacks.c:795:35: style: Parameter 'widget' can be declared as pointer to const [constParameterPointer] whysynth-20170701/src/gui_callbacks.c:887:39: style: Parameter 'widget' can be declared as pointer to const. However it seems that 'on_test_note_slider_change' is a callback function, if 'widget' is declared with const you might also need to cast function pointer(s). [constParameterCallback] whysynth-20170701/src/gui_callbacks.c:952:43: note: You might need to cast the function pointer here whysynth-20170701/src/gui_callbacks.c:887:39: note: Parameter 'widget' can be declared as pointer to const whysynth-20170701/src/gui_callbacks.c:1027:57: style: Parameter 'data' can be declared as pointer to const [constParameterPointer] whysynth-20170701/src/gui_callbacks.c:1114:32: style: Parameter 'widget' can be declared as pointer to const. However it seems that 'on_polyphony_change' is a callback function, if 'widget' is declared with const you might also need to cast function pointer(s). [constParameterCallback] whysynth-20170701/src/gui_callbacks.c:2296:58: note: You might need to cast the function pointer here whysynth-20170701/src/gui_callbacks.c:1114:32: note: Parameter 'widget' can be declared as pointer to const whysynth-20170701/src/gui_callbacks.c:1156:22: style: Parameter 'message1' can be declared as pointer to const [constParameterPointer] whysynth-20170701/src/gui_callbacks.c:1156:38: style: Parameter 'message2' can be declared as pointer to const [constParameterPointer] whysynth-20170701/src/gui_callbacks.c:1261:34: style: Parameter 'text' can be declared as pointer to const [constParameterPointer] whysynth-20170701/src/gui_callbacks.c:1283:11: style: Variable 'text' can be declared as pointer to const [constVariablePointer] whysynth-20170701/src/gui_callbacks.c:1548:31: style: Variable 'ypd' can be declared as pointer to const [constVariablePointer] whysynth-20170701/src/gui_callbacks.c:1691:44: style: Parameter 'patch' can be declared as pointer to const [constParameterPointer] whysynth-20170701/src/gui_callbacks.c:1948:31: style: Variable 'ypd' can be declared as pointer to const [constVariablePointer] whysynth-20170701/src/gui_interface.c:230:11: style: gtk_vbox_new has been deprecated since version 3.2 and should not be used in newly-written code. You can use gtk_box_new() with GTK_ORIENTATION_VERTICAL instead, which is a quick and easy change. But the recommendation is to switch to GtkGrid, since GtkBox is going to go away eventually. See Migrating from other containers to GtkGrid. [prohibitedgtk_vbox_newCalled] whysynth-20170701/src/gui_interface.c:645:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] whysynth-20170701/src/gui_interface.c:647:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] whysynth-20170701/src/gui_interface.c:651:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] whysynth-20170701/src/gui_interface.c:654:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] whysynth-20170701/src/gui_interface.c:657:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] whysynth-20170701/src/gui_interface.c:660:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] whysynth-20170701/src/gui_interface.c:663:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] whysynth-20170701/src/gui_interface.c:666:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] whysynth-20170701/src/gui_interface.c:669:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] whysynth-20170701/src/gui_interface.c:680:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] whysynth-20170701/src/gui_interface.c:683:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] whysynth-20170701/src/gui_interface.c:686:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] whysynth-20170701/src/gui_interface.c:689:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] whysynth-20170701/src/gui_interface.c:694:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] whysynth-20170701/src/gui_interface.c:697:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] whysynth-20170701/src/gui_interface.c:700:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] whysynth-20170701/src/gui_interface.c:703:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] whysynth-20170701/src/gui_interface.c:706:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] whysynth-20170701/src/gui_interface.c:709:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] whysynth-20170701/src/gui_interface.c:712:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] whysynth-20170701/src/gui_interface.c:715:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] whysynth-20170701/src/gui_interface.c:718:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] whysynth-20170701/src/gui_interface.c:721:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] whysynth-20170701/src/gui_interface.c:724:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] whysynth-20170701/src/gui_interface.c:727:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] whysynth-20170701/src/gui_interface.c:747:13: style: gtk_vbox_new has been deprecated since version 3.2 and should not be used in newly-written code. You can use gtk_box_new() with GTK_ORIENTATION_VERTICAL instead, which is a quick and easy change. But the recommendation is to switch to GtkGrid, since GtkBox is going to go away eventually. See Migrating from other containers to GtkGrid. [prohibitedgtk_vbox_newCalled] whysynth-20170701/src/gui_interface.c:786:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] whysynth-20170701/src/gui_interface.c:788:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] whysynth-20170701/src/gui_interface.c:791:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] whysynth-20170701/src/gui_interface.c:821:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] whysynth-20170701/src/gui_interface.c:823:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] whysynth-20170701/src/gui_interface.c:825:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] whysynth-20170701/src/gui_interface.c:829:12: style: gtk_vbox_new has been deprecated since version 3.2 and should not be used in newly-written code. You can use gtk_box_new() with GTK_ORIENTATION_VERTICAL instead, which is a quick and easy change. But the recommendation is to switch to GtkGrid, since GtkBox is going to go away eventually. See Migrating from other containers to GtkGrid. [prohibitedgtk_vbox_newCalled] whysynth-20170701/src/gui_interface.c:831:12: style: gtk_hbox_new has been deprecated since version 3.2 and should not be used in newly-written code. You can use gtk_box_new() with GTK_ORIENTATION_HORIZONTAL instead, which is a quick and easy change. But the recommendation is to switch to GtkGrid, since GtkBox is going to go away eventually. See Migrating from other containers to GtkGrid. [prohibitedgtk_hbox_newCalled] whysynth-20170701/src/gui_interface.c:850:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] whysynth-20170701/src/gui_interface.c:888:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] whysynth-20170701/src/gui_interface.c:890:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] whysynth-20170701/src/gui_interface.c:892:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] whysynth-20170701/src/gui_interface.c:896:12: style: gtk_vbox_new has been deprecated since version 3.2 and should not be used in newly-written code. You can use gtk_box_new() with GTK_ORIENTATION_VERTICAL instead, which is a quick and easy change. But the recommendation is to switch to GtkGrid, since GtkBox is going to go away eventually. See Migrating from other containers to GtkGrid. [prohibitedgtk_vbox_newCalled] whysynth-20170701/src/gui_interface.c:946:12: style: gtk_hbox_new has been deprecated since version 3.2 and should not be used in newly-written code. You can use gtk_box_new() with GTK_ORIENTATION_HORIZONTAL instead, which is a quick and easy change. But the recommendation is to switch to GtkGrid, since GtkBox is going to go away eventually. See Migrating from other containers to GtkGrid. [prohibitedgtk_hbox_newCalled] whysynth-20170701/src/gui_interface.c:966:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] whysynth-20170701/src/gui_interface.c:969:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] whysynth-20170701/src/gui_interface.c:997:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] whysynth-20170701/src/gui_interface.c:999:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] whysynth-20170701/src/gui_interface.c:1001:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] whysynth-20170701/src/gui_interface.c:1005:12: style: gtk_vbox_new has been deprecated since version 3.2 and should not be used in newly-written code. You can use gtk_box_new() with GTK_ORIENTATION_VERTICAL instead, which is a quick and easy change. But the recommendation is to switch to GtkGrid, since GtkBox is going to go away eventually. See Migrating from other containers to GtkGrid. [prohibitedgtk_vbox_newCalled] whysynth-20170701/src/gui_interface.c:1007:12: style: gtk_hbox_new has been deprecated since version 3.2 and should not be used in newly-written code. You can use gtk_box_new() with GTK_ORIENTATION_HORIZONTAL instead, which is a quick and easy change. But the recommendation is to switch to GtkGrid, since GtkBox is going to go away eventually. See Migrating from other containers to GtkGrid. [prohibitedgtk_hbox_newCalled] whysynth-20170701/src/gui_interface.c:1030:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] whysynth-20170701/src/gui_interface.c:1048:11: style: gtk_vbox_new has been deprecated since version 3.2 and should not be used in newly-written code. You can use gtk_box_new() with GTK_ORIENTATION_VERTICAL instead, which is a quick and easy change. But the recommendation is to switch to GtkGrid, since GtkBox is going to go away eventually. See Migrating from other containers to GtkGrid. [prohibitedgtk_vbox_newCalled] whysynth-20170701/src/gui_interface.c:1073:11: style: gtk_hbox_new has been deprecated since version 3.2 and should not be used in newly-written code. You can use gtk_box_new() with GTK_ORIENTATION_HORIZONTAL instead, which is a quick and easy change. But the recommendation is to switch to GtkGrid, since GtkBox is going to go away eventually. See Migrating from other containers to GtkGrid. [prohibitedgtk_hbox_newCalled] whysynth-20170701/src/gui_interface.c:1088:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] whysynth-20170701/src/gui_interface.c:1090:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] whysynth-20170701/src/gui_interface.c:1093:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] whysynth-20170701/src/gui_interface.c:1633:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] whysynth-20170701/src/gui_interface.c:1648:9: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] whysynth-20170701/src/gui_interface.c:1713:13: style: gtk_vbox_new has been deprecated since version 3.2 and should not be used in newly-written code. You can use gtk_box_new() with GTK_ORIENTATION_VERTICAL instead, which is a quick and easy change. But the recommendation is to switch to GtkGrid, since GtkBox is going to go away eventually. See Migrating from other containers to GtkGrid. [prohibitedgtk_vbox_newCalled] whysynth-20170701/src/gui_interface.c:1746:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] whysynth-20170701/src/gui_interface.c:1764:13: style: gtk_vbox_new has been deprecated since version 3.2 and should not be used in newly-written code. You can use gtk_box_new() with GTK_ORIENTATION_VERTICAL instead, which is a quick and easy change. But the recommendation is to switch to GtkGrid, since GtkBox is going to go away eventually. See Migrating from other containers to GtkGrid. [prohibitedgtk_vbox_newCalled] whysynth-20170701/src/gui_interface.c:1803:12: style: gtk_vbox_new has been deprecated since version 3.2 and should not be used in newly-written code. You can use gtk_box_new() with GTK_ORIENTATION_VERTICAL instead, which is a quick and easy change. But the recommendation is to switch to GtkGrid, since GtkBox is going to go away eventually. See Migrating from other containers to GtkGrid. [prohibitedgtk_vbox_newCalled] whysynth-20170701/src/gui_interface.c:1819:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] whysynth-20170701/src/gui_interface.c:1829:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] whysynth-20170701/src/gui_interface.c:1877:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] whysynth-20170701/src/gui_interface.c:1879:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] whysynth-20170701/src/gui_interface.c:1883:12: style: gtk_vbox_new has been deprecated since version 3.2 and should not be used in newly-written code. You can use gtk_box_new() with GTK_ORIENTATION_VERTICAL instead, which is a quick and easy change. But the recommendation is to switch to GtkGrid, since GtkBox is going to go away eventually. See Migrating from other containers to GtkGrid. [prohibitedgtk_vbox_newCalled] whysynth-20170701/src/gui_interface.c:2110:12: style: gtk_hbox_new has been deprecated since version 3.2 and should not be used in newly-written code. You can use gtk_box_new() with GTK_ORIENTATION_HORIZONTAL instead, which is a quick and easy change. But the recommendation is to switch to GtkGrid, since GtkBox is going to go away eventually. See Migrating from other containers to GtkGrid. [prohibitedgtk_hbox_newCalled] whysynth-20170701/src/gui_interface.c:2126:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] whysynth-20170701/src/gui_interface.c:2136:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] whysynth-20170701/src/gui_interface.c:2146:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] whysynth-20170701/src/gui_interface.c:2156:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] whysynth-20170701/src/gui_interface.c:2542:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] whysynth-20170701/src/gui_interface.c:2545:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] whysynth-20170701/src/gui_interface.c:2548:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] whysynth-20170701/src/gui_interface.c:2551:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] whysynth-20170701/src/gui_interface.c:2554:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] whysynth-20170701/src/gui_interface.c:2557:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] whysynth-20170701/src/gui_interface.c:2588:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] whysynth-20170701/src/gui_interface.c:2600:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] whysynth-20170701/src/gui_interface.c:2622:11: style: gtk_vbox_new has been deprecated since version 3.2 and should not be used in newly-written code. You can use gtk_box_new() with GTK_ORIENTATION_VERTICAL instead, which is a quick and easy change. But the recommendation is to switch to GtkGrid, since GtkBox is going to go away eventually. See Migrating from other containers to GtkGrid. [prohibitedgtk_vbox_newCalled] whysynth-20170701/src/gui_interface.c:2643:11: style: gtk_hbox_new has been deprecated since version 3.2 and should not be used in newly-written code. You can use gtk_box_new() with GTK_ORIENTATION_HORIZONTAL instead, which is a quick and easy change. But the recommendation is to switch to GtkGrid, since GtkBox is going to go away eventually. See Migrating from other containers to GtkGrid. [prohibitedgtk_hbox_newCalled] whysynth-20170701/src/gui_interface.c:2678:11: style: gtk_hbox_new has been deprecated since version 3.2 and should not be used in newly-written code. You can use gtk_box_new() with GTK_ORIENTATION_HORIZONTAL instead, which is a quick and easy change. But the recommendation is to switch to GtkGrid, since GtkBox is going to go away eventually. See Migrating from other containers to GtkGrid. [prohibitedgtk_hbox_newCalled] whysynth-20170701/src/gui_interface.c:2702:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] whysynth-20170701/src/gui_interface.c:2704:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] whysynth-20170701/src/gui_interface.c:2707:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] whysynth-20170701/src/gui_interface.c:2710:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] whysynth-20170701/src/gui_interface.c:2713:5: style: Obsolete function 'gtk_signal_connect' called. It is recommended to use 'g_signal_connect' instead. [prohibitedgtk_signal_connectCalled] whysynth-20170701/src/gui_callbacks.c:1675:16: style: Variable 'widget' is assigned a value that is never used. [unreadVariable] whysynth-20170701/src/sampleset.c:91:30: style: Condition 'nread==0' is always true [knownConditionTrueFalse] whysynth-20170701/src/sampleset.c:85:23: note: Assuming that condition 'nread>0' is not redundant whysynth-20170701/src/sampleset.c:91:30: note: Condition 'nread==0' is always true whysynth-20170701/src/sampleset.c:656:34: style:inconclusive: Function 'sampleset_release' argument 1 names different: declaration 'sampleset' definition 'ss'. [funcArgNamesDifferent] whysynth-20170701/src/sampleset.h:81:39: note: Function 'sampleset_release' argument 1 names different: declaration 'sampleset' definition 'ss'. whysynth-20170701/src/sampleset.c:656:34: note: Function 'sampleset_release' argument 1 names different: declaration 'sampleset' definition 'ss'. whysynth-20170701/src/sampleset.c:137:38: style: Parameter 'ss' can be declared as pointer to const [constParameterPointer] whysynth-20170701/src/sampleset.c:547:28: style: Variable 'ss' can be declared as pointer to const [constVariablePointer] whysynth-20170701/src/gui_interface.c:1288:31: style: Variable 'om' can be declared as pointer to const [constVariablePointer] whysynth-20170701/src/gui_interface.c:1457:31: style: Variable 'vm' can be declared as pointer to const [constVariablePointer] whysynth-20170701/src/gui_interface.c:1487:34: style: Variable 'em' can be declared as pointer to const [constVariablePointer] whysynth-20170701/src/whysynth_voice.c:76:23: style: Parameter 'synth' can be declared as pointer to const [constParameterPointer] whysynth-20170701/src/whysynth_voice.c:227:25: style: Parameter 'synth' can be declared as pointer to const [constParameterPointer] whysynth-20170701/src/whysynth_voice_render.c:206:54: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable data [valueFlowBailoutIncompleteVar] whysynth-20170701/src/whysynth_voice_render.c:1062:43: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RAND_MAX [valueFlowBailoutIncompleteVar] whysynth-20170701/src/common_data.c:537:13: warning:inconclusive: Width 90 given in format string (no. 1) is smaller than destination buffer 'buf2[181]'. [invalidScanfFormatWidth_smaller] whysynth-20170701/src/common_data.c:543:17: warning:inconclusive: Width 30 given in format string (no. 1) is smaller than destination buffer 'buf2[181]'. [invalidScanfFormatWidth_smaller] whysynth-20170701/src/common_data.c:549:20: warning:inconclusive: Width 30 given in format string (no. 1) is smaller than destination buffer 'buf2[181]'. [invalidScanfFormatWidth_smaller] whysynth-20170701/src/common_data.c:702:20: warning:inconclusive: Width 3 given in format string (no. 1) is smaller than destination buffer 'buf2[181]'. [invalidScanfFormatWidth_smaller] whysynth-20170701/src/common_data.c:367:20: style:inconclusive: Function 'y_atof' argument 1 names different: declaration 'buffer' definition 'z'. [funcArgNamesDifferent] whysynth-20170701/src/common_data.c:209:31: note: Function 'y_atof' argument 1 names different: declaration 'buffer' definition 'z'. whysynth-20170701/src/common_data.c:367:20: note: Function 'y_atof' argument 1 names different: declaration 'buffer' definition 'z'. whysynth-20170701/src/common_data.c:367:31: style:inconclusive: Function 'y_atof' argument 2 names different: declaration 'result' definition 'pResult'. [funcArgNamesDifferent] whysynth-20170701/src/common_data.c:209:47: note: Function 'y_atof' argument 2 names different: declaration 'result' definition 'pResult'. whysynth-20170701/src/common_data.c:367:31: note: Function 'y_atof' argument 2 names different: declaration 'result' definition 'pResult'. whysynth-20170701/src/common_data.c:62:25: style: Parameter 'buf' can be declared as pointer to const [constParameterPointer] whysynth-20170701/src/common_data.c:377:17: style: Variable 'lc' can be declared as pointer to const [constVariablePointer] whysynth-20170701/src/whysynth_voice_render.c:222:54: style:inconclusive: Function 'y_voice_setup_lfo' argument 7 names different: declaration 'destmod' definition 'destmods'. [funcArgNamesDifferent] whysynth-20170701/src/whysynth_voice.h:342:59: note: Function 'y_voice_setup_lfo' argument 7 names different: declaration 'destmod' definition 'destmods'. whysynth-20170701/src/whysynth_voice_render.c:222:54: note: Function 'y_voice_setup_lfo' argument 7 names different: declaration 'destmod' definition 'destmods'. whysynth-20170701/src/whysynth_voice_render.c:283:55: style:inconclusive: Function 'y_voice_update_lfo' argument 5 names different: declaration 'destmod' definition 'destmods'. [funcArgNamesDifferent] whysynth-20170701/src/whysynth_voice.h:344:60: note: Function 'y_voice_update_lfo' argument 5 names different: declaration 'destmod' definition 'destmods'. whysynth-20170701/src/whysynth_voice_render.c:283:55: note: Function 'y_voice_update_lfo' argument 5 names different: declaration 'destmod' definition 'destmods'. whysynth-20170701/src/whysynth_voice_render.c:189:37: style: Parameter 'p' can be declared as pointer to const [constParameterPointer] whysynth-20170701/src/whysynth_voice_render.c:206:19: style: Variable 'wave' can be declared as pointer to const [constVariablePointer] whysynth-20170701/src/whysynth_voice_render.c:220:30: style: Parameter 'synth' can be declared as pointer to const [constParameterPointer] whysynth-20170701/src/whysynth_voice_render.c:282:31: style: Parameter 'synth' can be declared as pointer to const [constParameterPointer] whysynth-20170701/src/whysynth_voice_render.c:579:19: style: Variable 'wave0' can be declared as pointer to const [constVariablePointer] whysynth-20170701/src/whysynth_voice_render.c:579:27: style: Variable 'wave1' can be declared as pointer to const [constVariablePointer] whysynth-20170701/src/whysynth_voice_render.c:696:19: style: Variable 'wave0' can be declared as pointer to const [constVariablePointer] whysynth-20170701/src/whysynth_voice_render.c:696:27: style: Variable 'wave1' can be declared as pointer to const [constVariablePointer] whysynth-20170701/src/whysynth_voice_render.c:810:51: style: Parameter 'synth' can be declared as pointer to const [constParameterPointer] whysynth-20170701/src/whysynth_voice_render.c:813:19: style: Variable 'wave0' can be declared as pointer to const [constVariablePointer] whysynth-20170701/src/whysynth_voice_render.c:813:27: style: Variable 'wave1' can be declared as pointer to const [constVariablePointer] whysynth-20170701/src/whysynth_voice_render.c:926:19: style: Variable 'wave' can be declared as pointer to const [constVariablePointer] whysynth-20170701/src/whysynth_voice_render.c:1828:19: style: Variable 'wave0' can be declared as pointer to const [constVariablePointer] whysynth-20170701/src/whysynth_voice_render.c:1828:27: style: Variable 'wave1' can be declared as pointer to const [constVariablePointer] whysynth-20170701/src/whysynth_voice_render.c:2194:69: style: Parameter 'in' can be declared as pointer to const [constParameterPointer] whysynth-20170701/src/whysynth_voice_render.c:2328:50: style: Parameter 'in' can be declared as pointer to const [constParameterPointer] whysynth-20170701/src/whysynth_voice_render.c:2436:51: style: Parameter 'in' can be declared as pointer to const [constParameterPointer] whysynth-20170701/src/whysynth_voice_render.c:2525:50: style: Parameter 'in' can be declared as pointer to const [constParameterPointer] whysynth-20170701/src/minblep_oscillator.h:986:19: style: Variable 'wave0' can be declared as pointer to const [constVariablePointer] whysynth-20170701/src/minblep_oscillator.h:986:27: style: Variable 'wave1' can be declared as pointer to const [constVariablePointer] diff: 2.17.0 whysynth-20170701/src/gui_main.c:286:15: warning: If memory allocation fails, then there is a possible null pointer dereference: filename [nullPointerOutOfMemory] whysynth-20170701/src/gui_main.c:285:27: note: Assuming allocation function fails whysynth-20170701/src/gui_main.c:285:27: note: Assignment 'filename=g_strconcat(g_get_home_dir(),"/.whysynth",NULL)', assigned value is 0 whysynth-20170701/src/gui_main.c:286:15: note: Null pointer dereference DONE