2025-05-08 02:26 ftp://ftp.de.debian.org/debian/pool/main/s/snibbetracker/snibbetracker_1.1.1.orig.tar.gz cppcheck-options: --library=posix --library=gnu --library=bsd --library=sdl --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 -j3 platform: Linux-6.8.0-1022-oracle-aarch64-with-glibc2.39 python: 3.12.3 client-version: 1.3.67 compiler: g++ (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0 cppcheck: head 2.17.0 head-info: ebc80c0 (2025-05-07 18:59:31 +0200) count: 324 323 elapsed-time: 9.4 9.9 head-timing-info: old-timing-info: head results: snibbetracker-1.1.1/snibbetracker/src/CAllocator.c:166:39: style: Condition 'alloc_ids[i]->duplicate_address' is always true [knownConditionTrueFalse] snibbetracker-1.1.1/snibbetracker/src/CAllocator.c:163:27: note: Assuming that condition '!alloc_ids[i]->duplicate_address' is not redundant snibbetracker-1.1.1/snibbetracker/src/CAllocator.c:166:39: note: Condition 'alloc_ids[i]->duplicate_address' is always true snibbetracker-1.1.1/snibbetracker/src/CAllocator.c:101:17: warning: If memory allocation fails, then there is a possible null pointer dereference: alloc_ids [nullPointerOutOfMemory] snibbetracker-1.1.1/snibbetracker/src/CAllocator.c:99:31: note: Assuming allocation function fails snibbetracker-1.1.1/snibbetracker/src/CAllocator.c:99:31: note: Assignment 'alloc_ids=malloc(sizeof(struct CAllocatorNode*)*alloc_track_size)', assigned value is 0 snibbetracker-1.1.1/snibbetracker/src/CAllocator.c:101:17: note: Null pointer dereference snibbetracker-1.1.1/snibbetracker/src/CAllocator.c:106:9: warning: If memory allocation fails, then there is a possible null pointer dereference: n [nullPointerOutOfMemory] snibbetracker-1.1.1/snibbetracker/src/CAllocator.c:105:19: note: Assuming allocation function fails snibbetracker-1.1.1/snibbetracker/src/CAllocator.c:105:19: note: Assignment 'n=malloc(sizeof(struct CAllocatorNode))', assigned value is 0 snibbetracker-1.1.1/snibbetracker/src/CAllocator.c:106:9: note: Null pointer dereference snibbetracker-1.1.1/snibbetracker/src/CAllocator.c:107:9: warning: If memory allocation fails, then there is a possible null pointer dereference: n [nullPointerOutOfMemory] snibbetracker-1.1.1/snibbetracker/src/CAllocator.c:105:19: note: Assuming allocation function fails snibbetracker-1.1.1/snibbetracker/src/CAllocator.c:105:19: note: Assignment 'n=malloc(sizeof(struct CAllocatorNode))', assigned value is 0 snibbetracker-1.1.1/snibbetracker/src/CAllocator.c:107:9: note: Null pointer dereference snibbetracker-1.1.1/snibbetracker/src/CAllocator.c:108:9: warning: If memory allocation fails, then there is a possible null pointer dereference: n [nullPointerOutOfMemory] snibbetracker-1.1.1/snibbetracker/src/CAllocator.c:105:19: note: Assuming allocation function fails snibbetracker-1.1.1/snibbetracker/src/CAllocator.c:105:19: note: Assignment 'n=malloc(sizeof(struct CAllocatorNode))', assigned value is 0 snibbetracker-1.1.1/snibbetracker/src/CAllocator.c:108:9: note: Null pointer dereference snibbetracker-1.1.1/snibbetracker/src/CAllocator.c:109:9: warning: If memory allocation fails, then there is a possible null pointer dereference: n [nullPointerOutOfMemory] snibbetracker-1.1.1/snibbetracker/src/CAllocator.c:105:19: note: Assuming allocation function fails snibbetracker-1.1.1/snibbetracker/src/CAllocator.c:105:19: note: Assignment 'n=malloc(sizeof(struct CAllocatorNode))', assigned value is 0 snibbetracker-1.1.1/snibbetracker/src/CAllocator.c:109:9: note: Null pointer dereference snibbetracker-1.1.1/snibbetracker/src/CAllocator.c:110:9: warning: If memory allocation fails, then there is a possible null pointer dereference: n [nullPointerOutOfMemory] snibbetracker-1.1.1/snibbetracker/src/CAllocator.c:105:19: note: Assuming allocation function fails snibbetracker-1.1.1/snibbetracker/src/CAllocator.c:105:19: note: Assignment 'n=malloc(sizeof(struct CAllocatorNode))', assigned value is 0 snibbetracker-1.1.1/snibbetracker/src/CAllocator.c:110:9: note: Null pointer dereference snibbetracker-1.1.1/snibbetracker/src/CAllocator.c:142:38: style: Parameter 'pointer' can be declared as pointer to const [constParameterPointer] snibbetracker-1.1.1/snibbetracker/src/CAllocator.c:155:53: style: Parameter 'pointer' can be declared as pointer to const [constParameterPointer] snibbetracker-1.1.1/snibbetracker/src/CAllocator.c:188:36: style: Variable 'node' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CEngine.c:330:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] snibbetracker-1.1.1/snibbetracker/src/CEngine.c:459:31: style: Condition 'alpha2>0' is always false [knownConditionTrueFalse] snibbetracker-1.1.1/snibbetracker/src/CEngine.c:452:27: note: Assuming that condition 'alpha2>0' is not redundant snibbetracker-1.1.1/snibbetracker/src/CEngine.c:459:31: note: Condition 'alpha2>0' is always false snibbetracker-1.1.1/snibbetracker/src/CEngine.c:306:5: warning: Either the condition 'engine!=NULL' is redundant or there is possible null pointer dereference: engine. [nullPointerRedundantCheck] snibbetracker-1.1.1/snibbetracker/src/CEngine.c:308:15: note: Assuming that condition 'engine!=NULL' is not redundant snibbetracker-1.1.1/snibbetracker/src/CEngine.c:306:5: note: Null pointer dereference snibbetracker-1.1.1/snibbetracker/src/CEngine.c:356:42: style:inconclusive: Function 'cEngineWritePixelData' argument 1 names different: declaration 'data' definition 'ptr'. [funcArgNamesDifferent] snibbetracker-1.1.1/snibbetracker/src/CEngine.h:105:42: note: Function 'cEngineWritePixelData' argument 1 names different: declaration 'data' definition 'ptr'. snibbetracker-1.1.1/snibbetracker/src/CEngine.c:356:42: note: Function 'cEngineWritePixelData' argument 1 names different: declaration 'data' definition 'ptr'. snibbetracker-1.1.1/snibbetracker/src/CEngine.c:47:38: style: Parameter 't' can be declared as pointer to const [constParameterPointer] snibbetracker-1.1.1/snibbetracker/src/CEngine.c:208:39: style: Parameter 'cstr' can be declared as pointer to const [constParameterPointer] snibbetracker-1.1.1/snibbetracker/src/CEngine.c:288:23: style: Parameter 'string' can be declared as pointer to const [constParameterPointer] snibbetracker-1.1.1/snibbetracker/src/CEngine.c:356:42: style: Parameter 'ptr' can be declared as pointer to const [constParameterPointer] snibbetracker-1.1.1/snibbetracker/src/CEngine.c:477:64: style: Parameter 'string' can be declared as pointer to const [constParameterPointer] snibbetracker-1.1.1/snibbetracker/src/CEngine.c:513:64: style: Parameter 'string' can be declared as pointer to const [constParameterPointer] snibbetracker-1.1.1/snibbetracker/src/CEngine.c:167:17: style: Variable 'ret' is assigned a value that is never used. [unreadVariable] snibbetracker-1.1.1/snibbetracker/src/CEngine.c:190:17: style: Variable 'ret' is assigned a value that is never used. [unreadVariable] snibbetracker-1.1.1/snibbetracker/src/CEngine.c:422:24: style: Variable 'alpha' is assigned a value that is never used. [unreadVariable] snibbetracker-1.1.1/snibbetracker/src/CEngine.c:425:15: style: Variable 'alpha' is assigned a value that is never used. [unreadVariable] snibbetracker-1.1.1/snibbetracker/src/cJSON/cJSON.c:132:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable DBL_EPSILON [valueFlowBailoutIncompleteVar] snibbetracker-1.1.1/snibbetracker/src/cJSON/test.c:46:37: warning: If resource allocation fails, then there is a possible null pointer dereference: f [nullPointerOutOfResources] snibbetracker-1.1.1/snibbetracker/src/cJSON/test.c:46:15: note: Assuming allocation function fails snibbetracker-1.1.1/snibbetracker/src/cJSON/test.c:46:15: note: Assignment 'f=fopen(filename,"rb")', assigned value is 0 snibbetracker-1.1.1/snibbetracker/src/cJSON/test.c:46:37: note: Null pointer dereference snibbetracker-1.1.1/snibbetracker/src/cJSON/test.c:46:66: warning: If resource allocation fails, then there is a possible null pointer dereference: f [nullPointerOutOfResources] snibbetracker-1.1.1/snibbetracker/src/cJSON/test.c:46:15: note: Assuming allocation function fails snibbetracker-1.1.1/snibbetracker/src/cJSON/test.c:46:15: note: Assignment 'f=fopen(filename,"rb")', assigned value is 0 snibbetracker-1.1.1/snibbetracker/src/cJSON/test.c:46:66: note: Null pointer dereference snibbetracker-1.1.1/snibbetracker/src/cJSON/test.c:46:75: warning: If resource allocation fails, then there is a possible null pointer dereference: f [nullPointerOutOfResources] snibbetracker-1.1.1/snibbetracker/src/cJSON/test.c:46:15: note: Assuming allocation function fails snibbetracker-1.1.1/snibbetracker/src/cJSON/test.c:46:15: note: Assignment 'f=fopen(filename,"rb")', assigned value is 0 snibbetracker-1.1.1/snibbetracker/src/cJSON/test.c:46:75: note: Null pointer dereference snibbetracker-1.1.1/snibbetracker/src/cJSON/test.c:47:40: warning: If memory allocation fails, then there is a possible null pointer dereference: data [nullPointerOutOfMemory] snibbetracker-1.1.1/snibbetracker/src/cJSON/test.c:47:26: note: Assuming allocation function fails snibbetracker-1.1.1/snibbetracker/src/cJSON/test.c:47:13: note: Assignment 'data=(char*)malloc(len+1)', assigned value is 0 snibbetracker-1.1.1/snibbetracker/src/cJSON/test.c:47:40: note: Null pointer dereference snibbetracker-1.1.1/snibbetracker/src/cJSON/test.c:47:51: warning: If resource allocation fails, then there is a possible null pointer dereference: f [nullPointerOutOfResources] snibbetracker-1.1.1/snibbetracker/src/cJSON/test.c:46:15: note: Assuming allocation function fails snibbetracker-1.1.1/snibbetracker/src/cJSON/test.c:46:15: note: Assignment 'f=fopen(filename,"rb")', assigned value is 0 snibbetracker-1.1.1/snibbetracker/src/cJSON/test.c:47:51: note: Null pointer dereference snibbetracker-1.1.1/snibbetracker/src/cJSON/test.c:47:61: warning: If resource allocation fails, then there is a possible null pointer dereference: f [nullPointerOutOfResources] snibbetracker-1.1.1/snibbetracker/src/cJSON/test.c:46:15: note: Assuming allocation function fails snibbetracker-1.1.1/snibbetracker/src/cJSON/test.c:46:15: note: Assignment 'f=fopen(filename,"rb")', assigned value is 0 snibbetracker-1.1.1/snibbetracker/src/cJSON/test.c:47:61: note: Null pointer dereference snibbetracker-1.1.1/snibbetracker/src/cJSON/test.c:28:17: style: Parameter 'text' can be declared as pointer to const [constParameterPointer] snibbetracker-1.1.1/snibbetracker/src/cJSON/test.c:44:19: style: Parameter 'filename' can be declared as pointer to const [constParameterPointer] snibbetracker-1.1.1/snibbetracker/src/cJSON/test.c:91:6: style: Variable 'ids' can be declared as const array [constVariable] snibbetracker-1.1.1/snibbetracker/src/cJSON/test.c:106:16: style: Variable 'fields' can be declared as const array [constVariable] snibbetracker-1.1.1/snibbetracker/src/dir_posix.c:45:23: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] snibbetracker-1.1.1/snibbetracker/src/dir_posix.c:64:9: style: Statements following 'return' will never be executed. [unreachableCode] snibbetracker-1.1.1/snibbetracker/src/dir_posix.c:42:20: style: Variable 'dir' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/dir_win.c:50:51: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable INVALID_HANDLE_VALUE [valueFlowBailoutIncompleteVar] snibbetracker-1.1.1/snibbetracker/src/dir_win.c:33:31: style: Parameter 'dir_string' can be declared as pointer to const [constParameterPointer] snibbetracker-1.1.1/snibbetracker/src/cJSON/cJSON.c:515:53: warning: Either the condition 'c' is redundant or there is possible null pointer dereference: prev. [nullPointerRedundantCheck] snibbetracker-1.1.1/snibbetracker/src/cJSON/cJSON.c:520:145: note: Assuming that condition 'c' is not redundant snibbetracker-1.1.1/snibbetracker/src/cJSON/cJSON.c:520:184: note: Calling function 'suffix_object', 1st argument 'c' value is 0 snibbetracker-1.1.1/snibbetracker/src/cJSON/cJSON.c:515:53: note: Null pointer dereference snibbetracker-1.1.1/snibbetracker/src/cJSON/cJSON.c:118:34: style: Parameter 'item' can be declared as pointer to const [constParameterPointer] snibbetracker-1.1.1/snibbetracker/src/cJSON/cJSON.c:250:34: style: Parameter 'item' can be declared as pointer to const [constParameterPointer] snibbetracker-1.1.1/snibbetracker/src/cJSON/cJSON.c:517:39: style: Parameter 'item' can be declared as pointer to const [constParameterPointer] snibbetracker-1.1.1/snibbetracker/src/cJSON/cJSON.c:548:75: style: Variable 'n' is assigned a value that is never used. [unreadVariable] snibbetracker-1.1.1/snibbetracker/src/cJSON/cJSON.c:549:78: style: Variable 'n' is assigned a value that is never used. [unreadVariable] snibbetracker-1.1.1/snibbetracker/src/cJSON/cJSON.c:550:80: style: Variable 'n' is assigned a value that is never used. [unreadVariable] snibbetracker-1.1.1/snibbetracker/src/cJSON/cJSON.c:551:79: style: Variable 'n' is assigned a value that is never used. [unreadVariable] snibbetracker-1.1.1/snibbetracker/src/main.c:956:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] snibbetracker-1.1.1/snibbetracker/src/main.c:2562:51: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable bpm [valueFlowBailoutIncompleteVar] snibbetracker-1.1.1/snibbetracker/src/main.c:2688:59: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable speed [valueFlowBailoutIncompleteVar] snibbetracker-1.1.1/snibbetracker/src/main.c:4272:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDL_INIT_VIDEO [valueFlowBailoutIncompleteVar] snibbetracker-1.1.1/snibbetracker/src/main.c:4368:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SDL_INIT_AUDIO [valueFlowBailoutIncompleteVar] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:898:49: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable bpm [valueFlowBailoutIncompleteVar] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:1136:45: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable active [valueFlowBailoutIncompleteVar] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:1457:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:2188:91: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ticks [valueFlowBailoutIncompleteVar] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:2195:91: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ticks [valueFlowBailoutIncompleteVar] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:2205:68: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable bpm [valueFlowBailoutIncompleteVar] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:2813:68: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable bpm [valueFlowBailoutIncompleteVar] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:4529:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:1842:17: style: The if condition is the same as the previous if condition [duplicateCondition] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:1841:17: note: First condition snibbetracker-1.1.1/snibbetracker/src/CSynth.c:1842:17: note: Second condition snibbetracker-1.1.1/snibbetracker/src/CSynth.c:4676:38: style: Comparing expression of type 'signed short' against value 32767. Condition is always false. [compareValueOutOfTypeRangeError] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:4676:65: style: Comparing expression of type 'signed short' against value -32768. Condition is always false. [compareValueOutOfTypeRangeError] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:4676:93: style: Comparing expression of type 'signed short' against value 32767. Condition is always false. [compareValueOutOfTypeRangeError] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:4676:121: style: Comparing expression of type 'signed short' against value -32768. Condition is always false. [compareValueOutOfTypeRangeError] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:1794:18: style: Condition 'y>-1' is always true [knownConditionTrueFalse] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:1793:21: note: Assignment 'y=0', assigned value is 0 snibbetracker-1.1.1/snibbetracker/src/CSynth.c:1794:18: note: Condition 'y>-1' is always true snibbetracker-1.1.1/snibbetracker/src/CSynth.c:2099:29: style: Condition 'next_row>=synth->track_height' is always true [knownConditionTrueFalse] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:2097:26: note: next_row is assigned 'synth->track_height' here. snibbetracker-1.1.1/snibbetracker/src/CSynth.c:2099:29: note: Condition 'next_row>=synth->track_height' is always true snibbetracker-1.1.1/snibbetracker/src/CSynth.c:2303:22: style: Condition 't!=NULL' is always true [knownConditionTrueFalse] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:4282:14: style: Condition 'y>-1' is always true [knownConditionTrueFalse] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:4281:17: note: Assignment 'y=0', assigned value is 0 snibbetracker-1.1.1/snibbetracker/src/CSynth.c:4282:14: note: Condition 'y>-1' is always true snibbetracker-1.1.1/snibbetracker/src/CSynth.c:4282:24: style: Condition 'ytrack_height' is always true [knownConditionTrueFalse] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:4281:22: note: Assuming that condition 'ytrack_height' is not redundant snibbetracker-1.1.1/snibbetracker/src/CSynth.c:4282:24: note: Condition 'ytrack_height' is always true snibbetracker-1.1.1/snibbetracker/src/CSynth.c:4360:18: style: Condition 'x>-1' is always true [knownConditionTrueFalse] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:4356:17: note: Assignment 'x=0', assigned value is 0 snibbetracker-1.1.1/snibbetracker/src/CSynth.c:4360:18: note: Condition 'x>-1' is always true snibbetracker-1.1.1/snibbetracker/src/CSynth.c:4361:21: style: Condition 'y>-1' is always true [knownConditionTrueFalse] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:4357:21: note: Assignment 'y=0', assigned value is 0 snibbetracker-1.1.1/snibbetracker/src/CSynth.c:4361:21: note: Condition 'y>-1' is always true snibbetracker-1.1.1/snibbetracker/src/CSynth.c:4427:18: style: Condition 'x>-1' is always true [knownConditionTrueFalse] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:4423:17: note: Assignment 'x=0', assigned value is 0 snibbetracker-1.1.1/snibbetracker/src/CSynth.c:4427:18: note: Condition 'x>-1' is always true snibbetracker-1.1.1/snibbetracker/src/CSynth.c:4428:21: style: Condition 'y>-1' is always true [knownConditionTrueFalse] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:4424:21: note: Assignment 'y=0', assigned value is 0 snibbetracker-1.1.1/snibbetracker/src/CSynth.c:4428:21: note: Condition 'y>-1' is always true snibbetracker-1.1.1/snibbetracker/src/CSynth.c:4543:35: warning: Either the condition 'voice!=NULL' is redundant or there is possible null pointer dereference: voice. [nullPointerRedundantCheck] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:4548:52: note: Assuming that condition 'voice!=NULL' is not redundant snibbetracker-1.1.1/snibbetracker/src/CSynth.c:4543:35: note: Null pointer dereference snibbetracker-1.1.1/snibbetracker/src/CSynth.c:4791:31: warning: Either the condition 'voice!=NULL' is redundant or there is possible null pointer dereference: voice. [nullPointerRedundantCheck] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:4795:48: note: Assuming that condition 'voice!=NULL' is not redundant snibbetracker-1.1.1/snibbetracker/src/CSynth.c:4791:31: note: Null pointer dereference snibbetracker-1.1.1/snibbetracker/src/CSynth.c:4795:89: style: Same expression 'ins!=NULL' found multiple times in chain of '&&' operators because 'ins!=NULL' and 'voice->instrument!=NULL' represent the same value. [knownConditionTrueFalse] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:4791:36: note: 'ins' is assigned value 'voice->instrument' here. snibbetracker-1.1.1/snibbetracker/src/CSynth.c:4795:89: note: Same expression 'ins!=NULL' found multiple times in chain of '&&' operators because 'ins!=NULL' and 'voice->instrument!=NULL' represent the same value. snibbetracker-1.1.1/snibbetracker/src/CSynth.c:4798:83: style: Same expression 'ins!=NULL' found multiple times in chain of '&&' operators because 'ins!=NULL' and 'voice->instrument!=NULL' represent the same value. [knownConditionTrueFalse] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:4791:36: note: 'ins' is assigned value 'voice->instrument' here. snibbetracker-1.1.1/snibbetracker/src/CSynth.c:4798:83: note: Same expression 'ins!=NULL' found multiple times in chain of '&&' operators because 'ins!=NULL' and 'voice->instrument!=NULL' represent the same value. snibbetracker-1.1.1/snibbetracker/src/CSynth.c:2426:38: style: Variable 'v->last_arpeggio_effect1' is reassigned a value before the old one has been used. [redundantAssignment] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:2424:38: note: v->last_arpeggio_effect1 is assigned snibbetracker-1.1.1/snibbetracker/src/CSynth.c:2426:38: note: v->last_arpeggio_effect1 is overwritten snibbetracker-1.1.1/snibbetracker/src/CSynth.c:2427:38: style: Variable 'v->last_arpeggio_effect2' is reassigned a value before the old one has been used. [redundantAssignment] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:2425:38: note: v->last_arpeggio_effect2 is assigned snibbetracker-1.1.1/snibbetracker/src/CSynth.c:2427:38: note: v->last_arpeggio_effect2 is overwritten snibbetracker-1.1.1/snibbetracker/src/CSynth.c:180:11: style: Variable 'node_build_number' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:181:11: style: Variable 'node_file_version' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:182:11: style: Variable 'node_author' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:183:11: style: Variable 'node_title' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:184:11: style: Variable 'node_info' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:185:11: style: Variable 'node_master_amp_percent' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:186:11: style: Variable 'node_solo_voice' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:187:11: style: Variable 'node_solo_track' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:188:11: style: Variable 'node_active_tracks' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:189:11: style: Variable 'node_muted_voices' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:190:11: style: Variable 'node_track_height' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:191:11: style: Variable 'node_arp' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:192:11: style: Variable 'node_pattern' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:193:11: style: Variable 'node_column' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:194:11: style: Variable 'node_row' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:195:11: style: Variable 'node_tone' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:196:11: style: Variable 'node_tone_active' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:197:11: style: Variable 'node_instrument' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:198:11: style: Variable 'node_effect' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:199:11: style: Variable 'node_effect_value' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:200:11: style: Variable 'node_effect_param_1' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:201:11: style: Variable 'node_effect_param_1_value' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:202:11: style: Variable 'node_effect_param_2' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:203:11: style: Variable 'node_effect_param_2_value' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:204:11: style: Variable 'node_nodes' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:205:11: style: Variable 'node_patterns' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:206:11: style: Variable 'node_patterns_and_voices' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:207:11: style: Variable 'node_instruments_adsr' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:208:11: style: Variable 'node_amp' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:209:11: style: Variable 'node_pos' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:210:11: style: Variable 'node_instrument_effects' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:211:11: style: Variable 'node_instrument_link' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:212:11: style: Variable 'node_track_highlight_interval' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:213:11: style: Variable 'node_tempo' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:214:11: style: Variable 'node_tempo_active_column' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:215:11: style: Variable 'node_tempo_bpm' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:216:11: style: Variable 'node_tempo_ticks' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:217:11: style: Variable 'node_tempo_active' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:218:11: style: Variable 'node_tempo_x' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:219:11: style: Variable 'node_tempo_y' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:220:11: style: Variable 'node_wavetable' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:221:11: style: Variable 'node_wavetable_speed' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:222:11: style: Variable 'node_wavetable_value' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:223:11: style: Variable 'node_wavetable_active' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:224:11: style: Variable 'node_wavetable_x' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:225:11: style: Variable 'node_wavetable_y' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:226:11: style: Variable 'node_custom_table' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:227:11: style: Variable 'node_custom_instrument' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:323:40: style: Variable 'track_node' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:362:36: style: Variable 'track_node' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:459:36: style: Variable 't' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:480:40: style: Variable 't' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:513:11: style: Variable 'node_author' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:514:11: style: Variable 'node_title' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:515:11: style: Variable 'node_info' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:516:11: style: Variable 'node_master_amp_percent' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:517:11: style: Variable 'node_solo_voice' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:518:11: style: Variable 'node_solo_track' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:519:11: style: Variable 'node_active_tracks' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:520:11: style: Variable 'node_muted_voices' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:521:11: style: Variable 'node_track_height' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:522:8: style: Variable 'node_arp' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:523:11: style: Variable 'node_pattern' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:524:11: style: Variable 'node_column' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:525:11: style: Variable 'node_row' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:526:11: style: Variable 'node_tone' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:527:11: style: Variable 'node_tone_active' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:528:11: style: Variable 'node_instrument' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:529:11: style: Variable 'node_effect' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:530:11: style: Variable 'node_effect_value' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:531:11: style: Variable 'node_effect_param_1' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:532:11: style: Variable 'node_effect_param_1_value' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:533:11: style: Variable 'node_effect_param_2' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:534:11: style: Variable 'node_effect_param_2_value' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:535:11: style: Variable 'node_nodes' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:536:11: style: Variable 'node_patterns_and_voices' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:537:11: style: Variable 'node_patterns' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:538:11: style: Variable 'node_instruments_adsr' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:539:11: style: Variable 'node_amp' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:540:11: style: Variable 'node_pos' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:541:11: style: Variable 'node_instrument_effects' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:542:11: style: Variable 'node_instrument_link' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:543:11: style: Variable 'node_track_highlight_interval' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:544:11: style: Variable 'node_tempo' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:545:11: style: Variable 'node_tempo_active_column' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:546:11: style: Variable 'node_tempo_bpm' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:547:11: style: Variable 'node_tempo_ticks' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:548:11: style: Variable 'node_tempo_active' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:549:11: style: Variable 'node_tempo_x' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:550:11: style: Variable 'node_tempo_y' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:551:11: style: Variable 'node_wavetable' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:552:11: style: Variable 'node_wavetable_speed' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:553:11: style: Variable 'node_wavetable_value' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:554:11: style: Variable 'node_wavetable_active' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:555:11: style: Variable 'node_wavetable_x' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:556:11: style: Variable 'node_wavetable_y' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:557:11: style: Variable 'node_custom_table' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:558:11: style: Variable 'node_custom_instrument' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:560:11: style: Variable 'node_file_version' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:1024:36: style: Parameter 'reason' can be declared as pointer to const [constParameterPointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:2066:24: style: Variable 't' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:2161:32: style: Variable 'node' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:2171:36: style: Variable 'node' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:2340:55: style: Parameter 'synth' can be declared as pointer to const [constParameterPointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:2340:99: style: Parameter 't' can be declared as pointer to const [constParameterPointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:2417:100: style: Parameter 't' can be declared as pointer to const [constParameterPointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:2998:56: style: Parameter 'synth' can be declared as pointer to const [constParameterPointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:3014:51: style: Parameter 'synth' can be declared as pointer to const [constParameterPointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:3027:60: style: Parameter 'synth' can be declared as pointer to const [constParameterPointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:3062:53: style: Parameter 'synth' can be declared as pointer to const [constParameterPointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:3087:55: style: Parameter 'synth' can be declared as pointer to const [constParameterPointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:3121:32: style: Variable 'w_loop_node' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:3127:32: style: Variable 'w_base_node' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:3128:32: style: Variable 'w_right_node' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:3137:40: style: Variable 'w_new_node' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:3172:32: style: Variable 'w_node' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:3299:28: style: Variable 'node' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:3312:28: style: Variable 'node' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:3344:52: style: Parameter 'synth' can be declared as pointer to const [constParameterPointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:3509:63: style: Parameter 'synth' can be declared as pointer to const [constParameterPointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:3572:64: style: Parameter 'i' can be declared as pointer to const [constParameterPointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:3572:89: style: Parameter 'synth' can be declared as pointer to const [constParameterPointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:4284:32: style: Variable 'node' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:4738:50: style: Parameter 'synth' can be declared as pointer to const [constParameterPointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:4791:25: style: Variable 'ins' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:4807:37: style: Parameter 'voice' can be declared as pointer to const [constParameterPointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:4825:84: style: Parameter 'voice' can be declared as pointer to const [constParameterPointer] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:391:50: warning: Uninitialized variable: int_array [uninitvar] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:383:22: note: Assuming condition is false snibbetracker-1.1.1/snibbetracker/src/CSynth.c:391:50: note: Uninitialized variable: int_array snibbetracker-1.1.1/snibbetracker/src/CSynth.c:405:43: warning: Uninitialized variable: int_array_patterns [uninitvar] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:397:22: note: Assuming condition is false snibbetracker-1.1.1/snibbetracker/src/CSynth.c:405:43: note: Uninitialized variable: int_array_patterns snibbetracker-1.1.1/snibbetracker/src/CSynth.c:414:43: warning: Uninitialized variable: int_array_tracks [uninitvar] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:411:18: note: Assuming condition is false snibbetracker-1.1.1/snibbetracker/src/CSynth.c:414:43: note: Uninitialized variable: int_array_tracks snibbetracker-1.1.1/snibbetracker/src/CSynth.c:423:43: warning: Uninitialized variable: int_array_voices [uninitvar] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:420:18: note: Assuming condition is false snibbetracker-1.1.1/snibbetracker/src/CSynth.c:423:43: note: Uninitialized variable: int_array_voices snibbetracker-1.1.1/snibbetracker/src/CSynth.c:909:28: style: Variable 'value_node_tempo_y' is assigned a value that is never used. [unreadVariable] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:964:32: style: Variable 'value_node_wavetable_y' is assigned a value that is never used. [unreadVariable] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:1063:13: style: Variable 's_y' is assigned a value that is never used. [unreadVariable] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:3117:30: style: Variable 'new_wavetable_cursor' is assigned a value that is never used. [unreadVariable] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:4666:29: style: Variable 'sample_left' is assigned a value that is never used. [unreadVariable] snibbetracker-1.1.1/snibbetracker/src/CSynth.c:4667:30: style: Variable 'sample_right' is assigned a value that is never used. [unreadVariable] snibbetracker-1.1.1/snibbetracker/src/main.c:721:1: error: Found an exit path from function with non-void return type that has missing return statement [missingReturn] snibbetracker-1.1.1/snibbetracker/src/main.c:1294:15: style: Expression is always true because 'else if' condition is opposite to previous condition at line 1290. [multiCondition] snibbetracker-1.1.1/snibbetracker/src/main.c:1290:15: note: first condition snibbetracker-1.1.1/snibbetracker/src/main.c:1294:15: note: else if condition is opposite to first condition snibbetracker-1.1.1/snibbetracker/src/main.c:1891:23: style: The statement 'if (pattern_editor) pattern_editor=false' is logically equivalent to 'pattern_editor=false'. [duplicateConditionalAssign] snibbetracker-1.1.1/snibbetracker/src/main.c:1892:32: note: Assignment 'pattern_editor=false' snibbetracker-1.1.1/snibbetracker/src/main.c:1891:23: note: Condition 'pattern_editor' is redundant snibbetracker-1.1.1/snibbetracker/src/main.c:1171:12: style: Condition '!editing' is always false [knownConditionTrueFalse] snibbetracker-1.1.1/snibbetracker/src/main.c:1164:61: note: Assuming that condition '!editing' is not redundant snibbetracker-1.1.1/snibbetracker/src/main.c:1171:12: note: Condition '!editing' is always false snibbetracker-1.1.1/snibbetracker/src/main.c:1178:20: style: Condition 'editing' is always true [knownConditionTrueFalse] snibbetracker-1.1.1/snibbetracker/src/main.c:1164:61: note: Assuming that condition '!editing' is not redundant snibbetracker-1.1.1/snibbetracker/src/main.c:1178:20: note: Condition 'editing' is always true snibbetracker-1.1.1/snibbetracker/src/main.c:1189:32: style: Condition 'editing' is always true [knownConditionTrueFalse] snibbetracker-1.1.1/snibbetracker/src/main.c:1164:61: note: Assuming that condition '!editing' is not redundant snibbetracker-1.1.1/snibbetracker/src/main.c:1184:45: note: Assuming condition is false snibbetracker-1.1.1/snibbetracker/src/main.c:1189:32: note: Condition 'editing' is always true snibbetracker-1.1.1/snibbetracker/src/main.c:1196:32: style: Condition 'editing' is always true [knownConditionTrueFalse] snibbetracker-1.1.1/snibbetracker/src/main.c:1171:12: note: Assuming that condition '!editing' is not redundant snibbetracker-1.1.1/snibbetracker/src/main.c:1184:45: note: Assuming condition is false snibbetracker-1.1.1/snibbetracker/src/main.c:1196:32: note: Condition 'editing' is always true snibbetracker-1.1.1/snibbetracker/src/main.c:2654:31: style: Condition 'old_bpm<10' is always false [knownConditionTrueFalse] snibbetracker-1.1.1/snibbetracker/src/main.c:2651:24: note: Assuming that condition 'old_bpm<100' is not redundant snibbetracker-1.1.1/snibbetracker/src/main.c:2654:31: note: Condition 'old_bpm<10' is always false snibbetracker-1.1.1/snibbetracker/src/main.c:2783:31: style: Condition 'old_bpm<10' is always false [knownConditionTrueFalse] snibbetracker-1.1.1/snibbetracker/src/main.c:2780:24: note: Assuming that condition 'old_bpm<100' is not redundant snibbetracker-1.1.1/snibbetracker/src/main.c:2783:31: note: Condition 'old_bpm<10' is always false snibbetracker-1.1.1/snibbetracker/src/main.c:2935:38: style: Condition 'old_master_amp<100' is always false [knownConditionTrueFalse] snibbetracker-1.1.1/snibbetracker/src/main.c:2932:31: note: Assuming that condition 'old_master_amp<1000' is not redundant snibbetracker-1.1.1/snibbetracker/src/main.c:2935:38: note: Condition 'old_master_amp<100' is always false snibbetracker-1.1.1/snibbetracker/src/main.c:2938:38: style: Condition 'old_master_amp<10' is always false [knownConditionTrueFalse] snibbetracker-1.1.1/snibbetracker/src/main.c:2932:31: note: Assuming that condition 'old_master_amp<1000' is not redundant snibbetracker-1.1.1/snibbetracker/src/main.c:2938:38: note: Condition 'old_master_amp<10' is always false snibbetracker-1.1.1/snibbetracker/src/main.c:2983:31: style: Condition 'old_arp<10' is always false [knownConditionTrueFalse] snibbetracker-1.1.1/snibbetracker/src/main.c:2980:24: note: Assuming that condition 'old_arp<100' is not redundant snibbetracker-1.1.1/snibbetracker/src/main.c:2983:31: note: Condition 'old_arp<10' is always false snibbetracker-1.1.1/snibbetracker/src/main.c:3434:56: style: Condition 'selected_custom_table_node_index==max_nodes-1' is always false [knownConditionTrueFalse] snibbetracker-1.1.1/snibbetracker/src/main.c:3413:81: note: Assuming that condition 'selected_custom_table_node_index=0' is always true [knownConditionTrueFalse] snibbetracker-1.1.1/snibbetracker/src/main.c:4109:22: note: Assignment 'x=0', assigned value is 0 snibbetracker-1.1.1/snibbetracker/src/main.c:4114:18: note: Condition 'x>=0' is always true snibbetracker-1.1.1/snibbetracker/src/main.c:4179:64: style: Condition 'editing' is always true [knownConditionTrueFalse] snibbetracker-1.1.1/snibbetracker/src/main.c:4153:37: note: Assuming that condition 'editing' is not redundant snibbetracker-1.1.1/snibbetracker/src/main.c:4179:64: note: Condition 'editing' is always true snibbetracker-1.1.1/snibbetracker/src/main.c:4479:26: style: Condition 'passive_rendering==false' is always false [knownConditionTrueFalse] snibbetracker-1.1.1/snibbetracker/src/main.c:4517:48: style: Condition '!passive_rendering' is always false [knownConditionTrueFalse] snibbetracker-1.1.1/snibbetracker/src/main.c:3173:9: warning: %d in format string (no. 1) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] snibbetracker-1.1.1/snibbetracker/src/main.c:5023:20: warning: %ld in format string (no. 1) requires 'long' but the argument type is 'unsigned long'. [invalidPrintfArgType_sint] snibbetracker-1.1.1/snibbetracker/src/main.c:817:17: error: Resource leak: fp [resourceLeak] snibbetracker-1.1.1/snibbetracker/src/main.c:4555:17: warning: If resource allocation fails, then there is a possible null pointer dereference: fp [nullPointerOutOfResources] snibbetracker-1.1.1/snibbetracker/src/main.c:4554:20: note: Assuming allocation function fails snibbetracker-1.1.1/snibbetracker/src/main.c:4554:20: note: Assignment 'fp=fopen("log.txt","a")', assigned value is 0 snibbetracker-1.1.1/snibbetracker/src/main.c:4555:17: note: Null pointer dereference snibbetracker-1.1.1/snibbetracker/src/main.c:4556:16: warning: If resource allocation fails, then there is a possible null pointer dereference: fp [nullPointerOutOfResources] snibbetracker-1.1.1/snibbetracker/src/main.c:4554:20: note: Assuming allocation function fails snibbetracker-1.1.1/snibbetracker/src/main.c:4554:20: note: Assignment 'fp=fopen("log.txt","a")', assigned value is 0 snibbetracker-1.1.1/snibbetracker/src/main.c:4556:16: note: Null pointer dereference snibbetracker-1.1.1/snibbetracker/src/main.c:4038:9: style:inconclusive: Found duplicate branches for 'if' and 'else'. [duplicateBranch] snibbetracker-1.1.1/snibbetracker/src/main.c:4040:11: note: Found duplicate branches for 'if' and 'else'. snibbetracker-1.1.1/snibbetracker/src/main.c:4038:9: note: Found duplicate branches for 'if' and 'else'. snibbetracker-1.1.1/snibbetracker/src/main.c:4913:21: style: The comparison 'path_defined == false' is always true because 'path_defined' and 'false' represent the same value. [knownConditionTrueFalse] snibbetracker-1.1.1/snibbetracker/src/main.c:4901:25: note: 'path_defined' is assigned value 'false' here. snibbetracker-1.1.1/snibbetracker/src/main.c:4913:21: note: The comparison 'path_defined == false' is always true because 'path_defined' and 'false' represent the same value. snibbetracker-1.1.1/snibbetracker/src/main.c:4736:24: style: Variable 'bufferSize' is reassigned a value before the old one has been used. [redundantAssignment] snibbetracker-1.1.1/snibbetracker/src/main.c:4734:24: note: bufferSize is assigned snibbetracker-1.1.1/snibbetracker/src/main.c:4736:24: note: bufferSize is overwritten snibbetracker-1.1.1/snibbetracker/src/main.c:1063:14: style: Local variable 'i' shadows outer variable [shadowVariable] snibbetracker-1.1.1/snibbetracker/src/main.c:1030:9: note: Shadowed declaration snibbetracker-1.1.1/snibbetracker/src/main.c:1063:14: note: Shadow variable snibbetracker-1.1.1/snibbetracker/src/main.c:3615:18: style: Local variable 'cval' shadows outer variable [shadowVariable] snibbetracker-1.1.1/snibbetracker/src/main.c:3604:10: note: Shadowed declaration snibbetracker-1.1.1/snibbetracker/src/main.c:3615:18: note: Shadow variable snibbetracker-1.1.1/snibbetracker/src/main.c:3798:26: style: Local variable 'cval' shadows outer variable [shadowVariable] snibbetracker-1.1.1/snibbetracker/src/main.c:3791:22: note: Shadowed declaration snibbetracker-1.1.1/snibbetracker/src/main.c:3798:26: note: Shadow variable snibbetracker-1.1.1/snibbetracker/src/main.c:5038:17: style: Local variable 'i' shadows outer variable [shadowVariable] snibbetracker-1.1.1/snibbetracker/src/main.c:5034:14: note: Shadowed declaration snibbetracker-1.1.1/snibbetracker/src/main.c:5038:17: note: Shadow variable snibbetracker-1.1.1/snibbetracker/src/main.c:451:31: style: Parameter 'path' can be declared as pointer to const [constParameterPointer] snibbetracker-1.1.1/snibbetracker/src/main.c:674:11: style: Variable 'list_name' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/main.c:715:35: style: Parameter 'dir_string' can be declared as pointer to const [constParameterPointer] snibbetracker-1.1.1/snibbetracker/src/main.c:804:30: style: Parameter 'path' can be declared as pointer to const [constParameterPointer] snibbetracker-1.1.1/snibbetracker/src/main.c:882:34: style: Parameter 'string' can be declared as pointer to const [constParameterPointer] snibbetracker-1.1.1/snibbetracker/src/main.c:901:43: style: Parameter 'string' can be declared as pointer to const [constParameterPointer] snibbetracker-1.1.1/snibbetracker/src/main.c:1848:37: style: Variable 'ins' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/main.c:1854:37: style: Variable 'ins' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/main.c:2285:43: style: Parameter 'keysym' can be declared as pointer to const [constParameterPointer] snibbetracker-1.1.1/snibbetracker/src/main.c:2452:41: style: Parameter 'keysym' can be declared as pointer to const [constParameterPointer] snibbetracker-1.1.1/snibbetracker/src/main.c:3168:34: style: Parameter 'floatStream' can be declared as pointer to const [constParameterPointer] snibbetracker-1.1.1/snibbetracker/src/main.c:3206:40: style: Parameter 's_byteStream' can be declared as pointer to const [constParameterPointer] snibbetracker-1.1.1/snibbetracker/src/main.c:3472:27: style: Variable 'node' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/main.c:3473:27: style: Variable 'node2' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/main.c:3483:27: style: Variable 'node' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/main.c:3571:27: style: Variable 'node' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/main.c:3572:27: style: Variable 'node2' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/main.c:3582:27: style: Variable 'node' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/main.c:3616:32: style: Variable 't' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/main.c:3915:32: style: Variable 't' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/main.c:3997:36: style: Variable 't' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/main.c:4024:44: style: Variable 'p_t' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/main.c:4209:36: style: Variable 't' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/main.c:4220:36: style: Variable 't' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/main.c:4550:29: style: Parameter 'str' can be declared as pointer to const [constParameterPointer] snibbetracker-1.1.1/snibbetracker/src/main.c:4596:11: style: Variable 'b' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/main.c:4653:12: style: Variable 'rgb_obj' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/main.c:4684:32: style: Parameter 'json' can be declared as pointer to const [constParameterPointer] snibbetracker-1.1.1/snibbetracker/src/main.c:4688:11: style: Variable 'param_buffer_size' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/main.c:4689:11: style: Variable 'param_fullscreen' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/main.c:4690:11: style: Variable 'param_preview' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/main.c:4691:11: style: Variable 'param_color_info_text_bg' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/main.c:4692:11: style: Variable 'param_color_file_name_text' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/main.c:4693:11: style: Variable 'param_color_inactive_instrument_node' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/main.c:4694:11: style: Variable 'param_color_active_instrument_node' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/main.c:4695:11: style: Variable 'param_color_visualiser' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/main.c:4696:11: style: Variable 'param_color_visualiser_clipping' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/main.c:4697:11: style: Variable 'param_color_envelope' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/main.c:4698:11: style: Variable 'param_color_inactive_text' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/main.c:4699:11: style: Variable 'param_color_text' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/main.c:4700:11: style: Variable 'param_color_text_bg' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/main.c:4701:11: style: Variable 'param_color_marker' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/main.c:4702:11: style: Variable 'param_color_solo' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/main.c:4703:11: style: Variable 'param_color_solo_text' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/main.c:4704:11: style: Variable 'param_color_mute' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/main.c:4705:11: style: Variable 'param_color_mute_text' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/main.c:4706:11: style: Variable 'param_color_active_row' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/main.c:4707:11: style: Variable 'param_color_active_row_text' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/main.c:4708:11: style: Variable 'param_color_playing_row' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/main.c:4709:11: style: Variable 'param_color_playing_row_text' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/main.c:4710:11: style: Variable 'param_color_edit_marker' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/main.c:4711:11: style: Variable 'param_color_edit_text' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/main.c:4712:11: style: Variable 'param_color_selection_marker' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/main.c:4713:11: style: Variable 'param_color_selection_text' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/main.c:4714:11: style: Variable 'param_color_bg' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/main.c:4715:11: style: Variable 'param_color_bg1' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/main.c:4716:11: style: Variable 'param_color_bg2' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/main.c:4717:11: style: Variable 'param_color_bg3' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/main.c:4718:11: style: Variable 'param_color_bg4' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/main.c:4719:11: style: Variable 'param_color_bg5' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/main.c:4720:11: style: Variable 'param_color_bg6' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/main.c:4721:11: style: Variable 'param_color_bg1_highlight' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/main.c:4722:11: style: Variable 'param_color_bg2_highlight' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/main.c:4723:11: style: Variable 'param_color_bg3_highlight' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/main.c:4724:11: style: Variable 'param_color_bg4_highlight' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/main.c:4725:11: style: Variable 'param_color_bg5_highlight' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/main.c:4726:11: style: Variable 'param_color_bg6_highlight' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/main.c:4891:26: style: Parameter 'message' can be declared as pointer to const [constParameterPointer] snibbetracker-1.1.1/snibbetracker/src/main.c:4914:15: style: Variable 'pref_path' can be declared as pointer to const [constVariablePointer] snibbetracker-1.1.1/snibbetracker/src/main.c:5077:29: style: Parameter 'filename' can be declared as pointer to const [constParameterPointer] snibbetracker-1.1.1/snibbetracker/src/main.c:5077:77: style: Parameter 'data' can be declared as pointer to const [constParameterPointer] snibbetracker-1.1.1/snibbetracker/src/main.c:465:12: style: Variable 'c' is assigned a value that is never used. [unreadVariable] snibbetracker-1.1.1/snibbetracker/src/main.c:945:13: style: Variable 'r_y' is assigned a value that is never used. [unreadVariable] snibbetracker-1.1.1/snibbetracker/src/main.c:4082:18: style: Variable 'offset_x' is assigned a value that is never used. [unreadVariable] snibbetracker-1.1.1/snibbetracker/src/main.c:4099:16: style: Variable 'node_x' is assigned a value that is never used. [unreadVariable] snibbetracker-1.1.1/snibbetracker/src/main.c:4633:21: style: Variable 'success' is assigned a value that is never used. [unreadVariable] snibbetracker-1.1.1/snibbetracker/src/main.c:5517:10: style: Variable 'y' is assigned a value that is never used. [unreadVariable] diff: 2.17.0 snibbetracker-1.1.1/snibbetracker/src/CSynth.c:4548:114: style: Condition 'voice->instrument!=NULL' is always true [knownConditionTrueFalse] 2.17.0 snibbetracker-1.1.1/snibbetracker/src/CSynth.c:4551:108: style: Condition 'voice->instrument!=NULL' is always true [knownConditionTrueFalse] head snibbetracker-1.1.1/snibbetracker/src/CSynth.c:4676:121: style: Comparing expression of type 'signed short' against value -32768. Condition is always false. [compareValueOutOfTypeRangeError] head snibbetracker-1.1.1/snibbetracker/src/CSynth.c:4676:93: style: Comparing expression of type 'signed short' against value 32767. Condition is always false. [compareValueOutOfTypeRangeError] 2.17.0 snibbetracker-1.1.1/snibbetracker/src/CSynth.c:4795:110: style: Condition 'voice->instrument!=NULL' is always true [knownConditionTrueFalse] 2.17.0 snibbetracker-1.1.1/snibbetracker/src/CSynth.c:4798:104: style: Condition 'voice->instrument!=NULL' is always true [knownConditionTrueFalse] head snibbetracker-1.1.1/snibbetracker/src/cJSON/test.c:46:66: warning: If resource allocation fails, then there is a possible null pointer dereference: f [nullPointerOutOfResources] snibbetracker-1.1.1/snibbetracker/src/cJSON/test.c:46:15: note: Assuming allocation function fails snibbetracker-1.1.1/snibbetracker/src/cJSON/test.c:46:15: note: Assignment 'f=fopen(filename,"rb")', assigned value is 0 snibbetracker-1.1.1/snibbetracker/src/cJSON/test.c:46:66: note: Null pointer dereference head snibbetracker-1.1.1/snibbetracker/src/cJSON/test.c:46:75: warning: If resource allocation fails, then there is a possible null pointer dereference: f [nullPointerOutOfResources] snibbetracker-1.1.1/snibbetracker/src/cJSON/test.c:46:15: note: Assuming allocation function fails snibbetracker-1.1.1/snibbetracker/src/cJSON/test.c:46:15: note: Assignment 'f=fopen(filename,"rb")', assigned value is 0 snibbetracker-1.1.1/snibbetracker/src/cJSON/test.c:46:75: note: Null pointer dereference head snibbetracker-1.1.1/snibbetracker/src/cJSON/test.c:47:61: warning: If resource allocation fails, then there is a possible null pointer dereference: f [nullPointerOutOfResources] snibbetracker-1.1.1/snibbetracker/src/cJSON/test.c:46:15: note: Assuming allocation function fails snibbetracker-1.1.1/snibbetracker/src/cJSON/test.c:46:15: note: Assignment 'f=fopen(filename,"rb")', assigned value is 0 snibbetracker-1.1.1/snibbetracker/src/cJSON/test.c:47:61: note: Null pointer dereference DONE