2025-09-19 01:26 ftp://ftp.de.debian.org/debian/pool/main/g/garden-of-coloured-lights/garden-of-coloured-lights_1.0.9.orig.tar.gz cppcheck-options: --library=posix --library=gnu --library=bsd --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 -j4 platform: Linux-6.12.43+deb13-amd64-x86_64-with-glibc2.41 python: 3.13.5 client-version: 1.3.67 compiler: g++ (Debian 14.2.0-19) 14.2.0 cppcheck: head 2.18.0 head-info: 9ef0910 (2025-09-18 14:54:47 +0200) count: 143 143 elapsed-time: 2.8 10.3 head-timing-info: old-timing-info: head results: garden-1.0.9/src/cloud.c:55:7: error: Array 'cloud[500]' accessed at index 500, which is out of bounds. [arrayIndexOutOfBounds] garden-1.0.9/src/cloud.c:46:16: note: Assuming that condition 'c<500' is not redundant garden-1.0.9/src/cloud.c:55:7: note: Array index out of bounds garden-1.0.9/src/cloud.c:56:7: error: Array 'cloud[500]' accessed at index 500, which is out of bounds. [arrayIndexOutOfBounds] garden-1.0.9/src/cloud.c:46:16: note: Assuming that condition 'c<500' is not redundant garden-1.0.9/src/cloud.c:56:7: note: Array index out of bounds garden-1.0.9/src/cloud.c:57:7: error: Array 'cloud[500]' accessed at index 500, which is out of bounds. [arrayIndexOutOfBounds] garden-1.0.9/src/cloud.c:46:16: note: Assuming that condition 'c<500' is not redundant garden-1.0.9/src/cloud.c:57:7: note: Array index out of bounds garden-1.0.9/src/cloud.c:58:7: error: Array 'cloud[500]' accessed at index 500, which is out of bounds. [arrayIndexOutOfBounds] garden-1.0.9/src/cloud.c:46:16: note: Assuming that condition 'c<500' is not redundant garden-1.0.9/src/cloud.c:58:7: note: Array index out of bounds garden-1.0.9/src/cloud.c:59:7: error: Array 'cloud[500]' accessed at index 500, which is out of bounds. [arrayIndexOutOfBounds] garden-1.0.9/src/cloud.c:46:16: note: Assuming that condition 'c<500' is not redundant garden-1.0.9/src/cloud.c:59:7: note: Array index out of bounds garden-1.0.9/src/ebullet.c:70:9: error: Array 'ebullet[500]' accessed at index 500, which is out of bounds. [arrayIndexOutOfBounds] garden-1.0.9/src/ebullet.c:61:16: note: Assuming that condition 'b<500' is not redundant garden-1.0.9/src/ebullet.c:70:9: note: Array index out of bounds garden-1.0.9/src/ebullet.c:71:9: error: Array 'ebullet[500]' accessed at index 500, which is out of bounds. [arrayIndexOutOfBounds] garden-1.0.9/src/ebullet.c:61:16: note: Assuming that condition 'b<500' is not redundant garden-1.0.9/src/ebullet.c:71:9: note: Array index out of bounds garden-1.0.9/src/ebullet.c:72:9: error: Array 'ebullet[500]' accessed at index 500, which is out of bounds. [arrayIndexOutOfBounds] garden-1.0.9/src/ebullet.c:61:16: note: Assuming that condition 'b<500' is not redundant garden-1.0.9/src/ebullet.c:72:9: note: Array index out of bounds garden-1.0.9/src/display_init.c:168:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GFX_TEXT [valueFlowBailoutIncompleteVar] garden-1.0.9/src/display_init.c:1916:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GFX_TEXT [valueFlowBailoutIncompleteVar] garden-1.0.9/src/display_init.c:2099:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GFX_TEXT [valueFlowBailoutIncompleteVar] garden-1.0.9/src/display_init.c:2121:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GFX_TEXT [valueFlowBailoutIncompleteVar] garden-1.0.9/src/display_init.c:2159:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GFX_TEXT [valueFlowBailoutIncompleteVar] garden-1.0.9/src/display_init.c:2183:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GFX_TEXT [valueFlowBailoutIncompleteVar] garden-1.0.9/src/display_init.c:2202:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GFX_TEXT [valueFlowBailoutIncompleteVar] garden-1.0.9/src/display_init.c:2284:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GFX_TEXT [valueFlowBailoutIncompleteVar] garden-1.0.9/src/game.c:217:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable screen [valueFlowBailoutIncompleteVar] garden-1.0.9/src/game.c:382:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable key [valueFlowBailoutIncompleteVar] garden-1.0.9/src/display.c:310:36: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable font [valueFlowBailoutIncompleteVar] garden-1.0.9/src/display.c:761:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TRUE [valueFlowBailoutIncompleteVar] garden-1.0.9/src/display.c:1023:32: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable font [valueFlowBailoutIncompleteVar] garden-1.0.9/src/display.c:3627:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TRUE [valueFlowBailoutIncompleteVar] garden-1.0.9/src/display.c:3746:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable font [valueFlowBailoutIncompleteVar] garden-1.0.9/src/display.c:4027:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable screen [valueFlowBailoutIncompleteVar] garden-1.0.9/src/display.c:4112:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable font [valueFlowBailoutIncompleteVar] garden-1.0.9/src/enemy.c:1650:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TRUE [valueFlowBailoutIncompleteVar] garden-1.0.9/src/enemy.c:5002:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TRUE [valueFlowBailoutIncompleteVar] garden-1.0.9/src/enemy.c:5049:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TRUE [valueFlowBailoutIncompleteVar] garden-1.0.9/src/display_init.c:163:2: warning:inconclusive: The buffer 'filename_buffer' may not be null-terminated after the call to strncpy(). [terminateStrncpy] garden-1.0.9/src/display_init.c:186:2: warning:inconclusive: The buffer 'filename_buffer' may not be null-terminated after the call to strncpy(). [terminateStrncpy] garden-1.0.9/src/display_init.c:361:2: warning:inconclusive: The buffer 'filename_buffer' may not be null-terminated after the call to strncpy(). [terminateStrncpy] garden-1.0.9/src/display_init.c:539:2: warning:inconclusive: The buffer 'filename_buffer' may not be null-terminated after the call to strncpy(). [terminateStrncpy] garden-1.0.9/src/display_init.c:626:2: warning:inconclusive: The buffer 'filename_buffer' may not be null-terminated after the call to strncpy(). [terminateStrncpy] garden-1.0.9/src/display_init.c:973:2: warning:inconclusive: The buffer 'filename_buffer' may not be null-terminated after the call to strncpy(). [terminateStrncpy] garden-1.0.9/src/display_init.c:1073:2: warning:inconclusive: The buffer 'filename_buffer' may not be null-terminated after the call to strncpy(). [terminateStrncpy] garden-1.0.9/src/display_init.c:1461:9: warning: Opposite inner 'if' condition leads to a dead code block. [oppositeInnerCondition] garden-1.0.9/src/display_init.c:1453:16: note: outer condition: j<15 garden-1.0.9/src/display_init.c:1461:9: note: opposite inner condition: j>=18 garden-1.0.9/src/display_init.c:2259:112: style:inconclusive: Function 'extract_rle_struct2' argument 7 names different: declaration 'b1' definition 'bl'. [funcArgNamesDifferent] garden-1.0.9/src/display_init.c:86:112: note: Function 'extract_rle_struct2' argument 7 names different: declaration 'b1' definition 'bl'. garden-1.0.9/src/display_init.c:2259:112: note: Function 'extract_rle_struct2' argument 7 names different: declaration 'b1' definition 'bl'. garden-1.0.9/src/display_init.c:1295:18: style: Variable 'angle' is assigned a value that is never used. [unreadVariable] garden-1.0.9/src/display_init.c:1402:4: style: Variable 'i' is assigned a value that is never used. [unreadVariable] garden-1.0.9/src/display_init.c:1445:4: style: Variable 'i' is assigned a value that is never used. [unreadVariable] garden-1.0.9/src/enemy.c:161:7: error: Array 'enemy[50]' accessed at index 51, which is out of bounds. [arrayIndexOutOfBounds] garden-1.0.9/src/enemy.c:153:16: note: Assuming that condition 'e<50+1' is not redundant garden-1.0.9/src/enemy.c:161:7: note: Array index out of bounds garden-1.0.9/src/enemy.c:162:7: error: Array 'enemy[50]' accessed at index 51, which is out of bounds. [arrayIndexOutOfBounds] garden-1.0.9/src/enemy.c:153:16: note: Assuming that condition 'e<50+1' is not redundant garden-1.0.9/src/enemy.c:162:7: note: Array index out of bounds garden-1.0.9/src/enemy.c:163:7: error: Array 'enemy[50]' accessed at index 51, which is out of bounds. [arrayIndexOutOfBounds] garden-1.0.9/src/enemy.c:153:16: note: Assuming that condition 'e<50+1' is not redundant garden-1.0.9/src/enemy.c:163:7: note: Array index out of bounds garden-1.0.9/src/enemy.c:164:7: error: Array 'enemy[50]' accessed at index 51, which is out of bounds. [arrayIndexOutOfBounds] garden-1.0.9/src/enemy.c:153:16: note: Assuming that condition 'e<50+1' is not redundant garden-1.0.9/src/enemy.c:164:7: note: Array index out of bounds garden-1.0.9/src/enemy.c:165:7: error: Array 'enemy[50]' accessed at index 51, which is out of bounds. [arrayIndexOutOfBounds] garden-1.0.9/src/enemy.c:153:16: note: Assuming that condition 'e<50+1' is not redundant garden-1.0.9/src/enemy.c:165:7: note: Array index out of bounds garden-1.0.9/src/enemy.c:166:7: error: Array 'enemy[50]' accessed at index 51, which is out of bounds. [arrayIndexOutOfBounds] garden-1.0.9/src/enemy.c:153:16: note: Assuming that condition 'e<50+1' is not redundant garden-1.0.9/src/enemy.c:166:7: note: Array index out of bounds garden-1.0.9/src/enemy.c:167:7: error: Array 'enemy[50]' accessed at index 51, which is out of bounds. [arrayIndexOutOfBounds] garden-1.0.9/src/enemy.c:153:16: note: Assuming that condition 'e<50+1' is not redundant garden-1.0.9/src/enemy.c:167:7: note: Array index out of bounds garden-1.0.9/src/enemy.c:168:7: error: Array 'enemy[50]' accessed at index 51, which is out of bounds. [arrayIndexOutOfBounds] garden-1.0.9/src/enemy.c:153:16: note: Assuming that condition 'e<50+1' is not redundant garden-1.0.9/src/enemy.c:168:7: note: Array index out of bounds garden-1.0.9/src/enemy.c:169:7: error: Array 'enemy[50]' accessed at index 51, which is out of bounds. [arrayIndexOutOfBounds] garden-1.0.9/src/enemy.c:153:16: note: Assuming that condition 'e<50+1' is not redundant garden-1.0.9/src/enemy.c:169:7: note: Array index out of bounds garden-1.0.9/src/enemy.c:170:7: error: Array 'enemy[50]' accessed at index 51, which is out of bounds. [arrayIndexOutOfBounds] garden-1.0.9/src/enemy.c:153:16: note: Assuming that condition 'e<50+1' is not redundant garden-1.0.9/src/enemy.c:170:7: note: Array index out of bounds garden-1.0.9/src/enemy.c:171:7: error: Array 'enemy[50]' accessed at index 51, which is out of bounds. [arrayIndexOutOfBounds] garden-1.0.9/src/enemy.c:153:16: note: Assuming that condition 'e<50+1' is not redundant garden-1.0.9/src/enemy.c:171:7: note: Array index out of bounds garden-1.0.9/src/enemy.c:172:7: error: Array 'enemy[50]' accessed at index 51, which is out of bounds. [arrayIndexOutOfBounds] garden-1.0.9/src/enemy.c:153:16: note: Assuming that condition 'e<50+1' is not redundant garden-1.0.9/src/enemy.c:172:7: note: Array index out of bounds garden-1.0.9/src/enemy.c:173:7: error: Array 'enemy[50]' accessed at index 51, which is out of bounds. [arrayIndexOutOfBounds] garden-1.0.9/src/enemy.c:153:16: note: Assuming that condition 'e<50+1' is not redundant garden-1.0.9/src/enemy.c:173:7: note: Array index out of bounds garden-1.0.9/src/enemy.c:174:7: error: Array 'enemy[50]' accessed at index 51, which is out of bounds. [arrayIndexOutOfBounds] garden-1.0.9/src/enemy.c:153:16: note: Assuming that condition 'e<50+1' is not redundant garden-1.0.9/src/enemy.c:174:7: note: Array index out of bounds garden-1.0.9/src/enemy.c:178:8: error: Array 'enemy[50]' accessed at index 51, which is out of bounds. [arrayIndexOutOfBounds] garden-1.0.9/src/enemy.c:153:16: note: Assuming that condition 'e<50+1' is not redundant garden-1.0.9/src/enemy.c:178:8: note: Array index out of bounds garden-1.0.9/src/enemy.c:3202:65: style: Expression '(X & 0x10) == 0x1' is always false. [comparisonError] garden-1.0.9/src/input.c:189:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable joy [valueFlowBailoutIncompleteVar] garden-1.0.9/src/input.c:1024:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable JOY_TYPE_AUTODETECT [valueFlowBailoutIncompleteVar] garden-1.0.9/src/input.c:1042:2: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AL_CONST [valueFlowBailoutIncompleteVar] garden-1.0.9/src/input.c:1088:6: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable joy [valueFlowBailoutIncompleteVar] garden-1.0.9/src/display.c:0:0: debug: ValueFlow maximum iterations exceeded [valueFlowMaxIterations] garden-1.0.9/src/display.c:857:24: error: Array 'RLE_lwbeamshock[15]' accessed at index 15, which is out of bounds. [arrayIndexOutOfBounds] garden-1.0.9/src/display.c:856:10: note: Assignment 'xb=15', assigned value is 15 garden-1.0.9/src/display.c:857:24: note: Array index out of bounds garden-1.0.9/src/display.c:858:51: error: Array 'RLE_lwbeamshock[15]' accessed at index 15, which is out of bounds. [arrayIndexOutOfBounds] garden-1.0.9/src/display.c:856:10: note: Assignment 'xb=15', assigned value is 15 garden-1.0.9/src/display.c:858:51: note: Array index out of bounds garden-1.0.9/src/display.c:4083:41: style: Condition 'y2<-500' is always false [knownConditionTrueFalse] garden-1.0.9/src/display.c:4083:16: note: Assuming that condition 'y2<-500' is not redundant garden-1.0.9/src/display.c:4083:41: note: Condition 'y2<-500' is always false garden-1.0.9/src/display.c:4083:54: style: Condition 'y2>900' is always false [knownConditionTrueFalse] garden-1.0.9/src/display.c:4083:29: note: Assuming that condition 'y2>900' is not redundant garden-1.0.9/src/display.c:4083:54: note: Condition 'y2>900' is always false garden-1.0.9/src/display.c:4083:35: style: Same expression 'y2<-500' found multiple times in chain of '||' operators. [duplicateExpression] garden-1.0.9/src/display.c:4083:48: style: Same expression 'y2>900' found multiple times in chain of '||' operators. [duplicateExpression] garden-1.0.9/src/display.c:1063:21: style: Variable 'xa' is reassigned a value before the old one has been used. [redundantAssignment] garden-1.0.9/src/display.c:1041:6: note: xa is assigned garden-1.0.9/src/display.c:1063:21: note: xa is overwritten garden-1.0.9/src/display.c:535:5: style: Variable 'xa' is assigned a value that is never used. [unreadVariable] garden-1.0.9/src/display.c:559:44: style: Variable 'k' is assigned a value that is never used. [unreadVariable] garden-1.0.9/src/display.c:1063:21: style: Variable 'xa' is assigned a value that is never used. [unreadVariable] garden-1.0.9/src/display.c:2675:6: style: Variable 'xb' is assigned a value that is never used. [unreadVariable] garden-1.0.9/src/display.c:2676:6: style: Variable 'yb' is assigned a value that is never used. [unreadVariable] garden-1.0.9/src/display.c:3404:13: style: Variable 'across' is assigned a value that is never used. [unreadVariable] garden-1.0.9/src/display.c:3506:13: style: Variable 'across' is assigned a value that is never used. [unreadVariable] garden-1.0.9/src/display.c:3944:18: style: Variable 'old_angle' is assigned a value that is never used. [unreadVariable] garden-1.0.9/src/game.c:248:6: style:inconclusive: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] garden-1.0.9/src/game.c:258:6: style:inconclusive: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] garden-1.0.9/src/game.c:465:23: style: A pointer can not be negative so it is either pointless or an error to check if it is. [pointerLessThanZero] garden-1.0.9/src/game.c:637:14: style: Variable 'goal_angle' is assigned a value that is never used. [unreadVariable] garden-1.0.9/src/game.c:1363:19: style: Variable 'new_part_row' is assigned a value that is never used. [unreadVariable] garden-1.0.9/src/game.c:1485:12: style: Variable 'vert2' is assigned a value that is never used. [unreadVariable] garden-1.0.9/src/game.c:1488:10: style: Variable 'v22' is assigned a value that is never used. [unreadVariable] garden-1.0.9/src/game.c:2104:8: style: Variable 't' is assigned a value that is never used. [unreadVariable] garden-1.0.9/src/main.c:118:1: error: There is an unknown macro here somewhere. Configuration is required. If END_OF_MAIN is a macro then please configure it. [unknownMacro] garden-1.0.9/src/input.c:553:23: warning: Either the condition 'b!=-1' is redundant or the array 'pbullet[60]' is accessed at index -1, which is out of bounds. [negativeIndex] garden-1.0.9/src/input.c:537:9: note: Assuming that condition 'b!=-1' is not redundant garden-1.0.9/src/input.c:553:23: note: Negative array index garden-1.0.9/src/input.c:578:23: warning: Either the condition 'b!=-1' is redundant or the array 'pbullet[60]' is accessed at index -1, which is out of bounds. [negativeIndex] garden-1.0.9/src/input.c:562:9: note: Assuming that condition 'b!=-1' is not redundant garden-1.0.9/src/input.c:578:23: note: Negative array index garden-1.0.9/src/input.c:623:23: warning: Either the condition 'b!=-1' is redundant or the array 'pbullet[60]' is accessed at index -1, which is out of bounds. [negativeIndex] garden-1.0.9/src/input.c:606:9: note: Assuming that condition 'b!=-1' is not redundant garden-1.0.9/src/input.c:623:23: note: Negative array index garden-1.0.9/src/input.c:665:23: warning: Either the condition 'b!=-1' is redundant or the array 'pbullet[60]' is accessed at index -1, which is out of bounds. [negativeIndex] garden-1.0.9/src/input.c:649:9: note: Assuming that condition 'b!=-1' is not redundant garden-1.0.9/src/input.c:665:23: note: Negative array index garden-1.0.9/src/input.c:751:23: warning: Either the condition 'b!=-1' is redundant or the array 'pbullet[60]' is accessed at index -1, which is out of bounds. [negativeIndex] garden-1.0.9/src/input.c:733:9: note: Assuming that condition 'b!=-1' is not redundant garden-1.0.9/src/input.c:751:23: note: Negative array index garden-1.0.9/src/input.c:776:6: style: Variable 'angles' can be declared as const array [constVariable] garden-1.0.9/src/input.c:363:14: style: Variable 'moving' is assigned a value that is never used. [unreadVariable] garden-1.0.9/src/input.c:403:11: style: Variable 'moving' is assigned a value that is never used. [unreadVariable] garden-1.0.9/src/input.c:409:11: style: Variable 'moving' is assigned a value that is never used. [unreadVariable] garden-1.0.9/src/input.c:415:11: style: Variable 'moving' is assigned a value that is never used. [unreadVariable] garden-1.0.9/src/input.c:421:11: style: Variable 'moving' is assigned a value that is never used. [unreadVariable] garden-1.0.9/src/input.c:921:9: style: Variable 'angle' is assigned a value that is never used. [unreadVariable] garden-1.0.9/src/input.c:924:10: style: Variable 'angle' is assigned a value that is never used. [unreadVariable] garden-1.0.9/src/menu.c:133:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable screen [valueFlowBailoutIncompleteVar] garden-1.0.9/src/menu.c:179:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TRUE [valueFlowBailoutIncompleteVar] garden-1.0.9/src/menu.c:635:33: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable font [valueFlowBailoutIncompleteVar] garden-1.0.9/src/menu.c:672:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TRUE [valueFlowBailoutIncompleteVar] garden-1.0.9/src/menu.c:1225:27: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable font [valueFlowBailoutIncompleteVar] garden-1.0.9/src/menu.c:1262:27: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable font [valueFlowBailoutIncompleteVar] garden-1.0.9/src/menu.c:1310:34: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable font [valueFlowBailoutIncompleteVar] garden-1.0.9/src/menu.c:1361:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable screen [valueFlowBailoutIncompleteVar] garden-1.0.9/src/palette.c:570:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable r [valueFlowBailoutIncompleteVar] garden-1.0.9/src/palette.c:649:38: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable r [valueFlowBailoutIncompleteVar] garden-1.0.9/src/palette.c:668:38: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable r [valueFlowBailoutIncompleteVar] garden-1.0.9/src/palette.c:693:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable r [valueFlowBailoutIncompleteVar] garden-1.0.9/src/palette.c:1086:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PAL_SIZE [valueFlowBailoutIncompleteVar] garden-1.0.9/src/level.c:667:26: style: Condition 'track[t].multiple==0' is always false [knownConditionTrueFalse] garden-1.0.9/src/level.c:1570:19: style: Variable 'enemy[e2].angle' is reassigned a value before the old one has been used. [redundantAssignment] garden-1.0.9/src/level.c:1557:19: note: enemy[e2].angle is assigned garden-1.0.9/src/level.c:1570:19: note: enemy[e2].angle is overwritten garden-1.0.9/src/palette.c:987:48: style: Parameter 'rgbl' can be declared as pointer to const [constParameterPointer] garden-1.0.9/src/sound.c:1623:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GFX_TEXT [valueFlowBailoutIncompleteVar] garden-1.0.9/src/pbullet.c:69:9: error: Array 'pbullet[60]' accessed at index 60, which is out of bounds. [arrayIndexOutOfBounds] garden-1.0.9/src/pbullet.c:60:16: note: Assuming that condition 'b<60' is not redundant garden-1.0.9/src/pbullet.c:69:9: note: Array index out of bounds garden-1.0.9/src/pbullet.c:70:9: error: Array 'pbullet[60]' accessed at index 60, which is out of bounds. [arrayIndexOutOfBounds] garden-1.0.9/src/pbullet.c:60:16: note: Assuming that condition 'b<60' is not redundant garden-1.0.9/src/pbullet.c:70:9: note: Array index out of bounds garden-1.0.9/src/pbullet.c:71:9: error: Array 'pbullet[60]' accessed at index 60, which is out of bounds. [arrayIndexOutOfBounds] garden-1.0.9/src/pbullet.c:60:16: note: Assuming that condition 'b<60' is not redundant garden-1.0.9/src/pbullet.c:71:9: note: Array index out of bounds garden-1.0.9/src/pbullet.c:72:9: error: Array 'pbullet[60]' accessed at index 60, which is out of bounds. [arrayIndexOutOfBounds] garden-1.0.9/src/pbullet.c:60:16: note: Assuming that condition 'b<60' is not redundant garden-1.0.9/src/pbullet.c:72:9: note: Array index out of bounds garden-1.0.9/src/pbullet.c:271:2: style:inconclusive: Statements following 'return' will never be executed. [unreachableCode] garden-1.0.9/src/pbullet.c:639:6: style: Variable 'xc' is assigned a value that is never used. [unreadVariable] garden-1.0.9/src/sound.c:1608:2: warning:inconclusive: The buffer 'filename_buffer' may not be null-terminated after the call to strncpy(). [terminateStrncpy] garden-1.0.9/src/stuff.c:201:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GFX_TEXT [valueFlowBailoutIncompleteVar] garden-1.0.9/src/menu.c:775:5: style:inconclusive: Found duplicate branches for 'if' and 'else'. [duplicateBranch] garden-1.0.9/src/menu.c:784:5: note: Found duplicate branches for 'if' and 'else'. garden-1.0.9/src/menu.c:775:5: note: Found duplicate branches for 'if' and 'else'. garden-1.0.9/src/menu.c:172:6: style: Same expression used in consecutive assignments of 'y3' and 'y4'. [duplicateAssignExpression] garden-1.0.9/src/menu.c:173:6: note: Same expression used in consecutive assignments of 'y3' and 'y4'. garden-1.0.9/src/menu.c:172:6: note: Same expression used in consecutive assignments of 'y3' and 'y4'. garden-1.0.9/src/menu.c:421:15: style: Variable 'key_wait' is reassigned a value before the old one has been used. [redundantAssignment] garden-1.0.9/src/menu.c:414:15: note: key_wait is assigned garden-1.0.9/src/menu.c:421:15: note: key_wait is overwritten garden-1.0.9/src/menu.c:161:6: style: Local variable 'counter' shadows outer variable [shadowVariable] garden-1.0.9/src/globvars.h:32:22: note: Shadowed declaration garden-1.0.9/src/menu.c:161:6: note: Shadow variable garden-1.0.9/src/menu.c:170:9: style: Variable 'y1' is assigned a value that is never used. [unreadVariable] garden-1.0.9/src/menu.c:171:9: style: Variable 'y2' is assigned a value that is never used. [unreadVariable] garden-1.0.9/src/menu.c:172:9: style: Variable 'y3' is assigned a value that is never used. [unreadVariable] garden-1.0.9/src/menu.c:173:9: style: Variable 'y4' is assigned a value that is never used. [unreadVariable] garden-1.0.9/src/menu.c:175:6: style: Variable 'anykey' is assigned a value that is never used. [unreadVariable] garden-1.0.9/src/menu.c:177:6: style: Unused variable: i [unusedVariable] garden-1.0.9/src/menu.c:643:13: style: Variable 'anykey' is assigned a value that is never used. [unreadVariable] garden-1.0.9/src/menu.c:642:6: style: Unused variable: i [unusedVariable] garden-1.0.9/src/menu.c:643:6: style: Variable 'anykey' is assigned a value that is never used. [unreadVariable] garden-1.0.9/src/menu.c:669:14: style: Unused variable: anykey [unusedVariable] garden-1.0.9/src/enemy.c:5092:8: style: Redundant initialization for 'btype'. The initialized value is overwritten before it is read. [redundantInitialization] garden-1.0.9/src/enemy.c:5091:12: note: btype is initialized garden-1.0.9/src/enemy.c:5092:8: note: btype is overwritten garden-1.0.9/src/enemy.c:4061:3: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] garden-1.0.9/src/enemy.c:5423:3: style:inconclusive: Statements following 'break' will never be executed. [unreachableCode] garden-1.0.9/src/enemy.c:1401:8: style: Variable 'angle' is assigned a value that is never used. [unreadVariable] garden-1.0.9/src/enemy.c:3948:11: style: Variable 'angle' is assigned a value that is never used. [unreadVariable] garden-1.0.9/src/enemy.c:6221:9: style: Variable 'angle' is assigned a value that is never used. [unreadVariable] diff: DONE