2026-05-02 12:13 ftp://ftp.de.debian.org/debian/pool/main/h/hexcurse/hexcurse_1.60.0.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 -j2 platform: Linux-6.12.85+deb13-amd64-x86_64-with-glibc2.41 python: 3.13.5 client-version: 1.3.70 compiler: g++ (20250906) 15.2.0 cppcheck: head 2.20.0 head-info: e5c4a73 (2026-05-01 11:10:43 +0200) count: 55 53 elapsed-time: 0.4 0.3 head-timing-info: old-timing-info: head results: hexcurse-1.60.0/src/color.c:41:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable A_NORMAL [valueFlowBailoutIncompleteVar] hexcurse-1.60.0/src/color.c:48:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ascii [valueFlowBailoutIncompleteVar] hexcurse-1.60.0/src/color.c:57:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ascii [valueFlowBailoutIncompleteVar] hexcurse-1.60.0/src/file.c:29:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BASE [valueFlowBailoutIncompleteVar] hexcurse-1.60.0/src/file.c:99:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable HVERSION [valueFlowBailoutIncompleteVar] hexcurse-1.60.0/src/file.c:119:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BASE [valueFlowBailoutIncompleteVar] hexcurse-1.60.0/src/file.c:137:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LINES [valueFlowBailoutIncompleteVar] hexcurse-1.60.0/src/file.c:199:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LINES [valueFlowBailoutIncompleteVar] hexcurse-1.60.0/src/file.c:259:27: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable head [valueFlowBailoutIncompleteVar] hexcurse-1.60.0/src/file.c:319:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable windows [valueFlowBailoutIncompleteVar] hexcurse-1.60.0/src/file.c:395:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable head [valueFlowBailoutIncompleteVar] hexcurse-1.60.0/src/file.c:412:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable head [valueFlowBailoutIncompleteVar] hexcurse-1.60.0/src/file.c:30:14: style: Variable 'tmpHead' can be declared as pointer to const [constVariablePointer] hexcurse-1.60.0/src/file.c:99:11: style: Variable 'ver' can be declared as pointer to const [constVariablePointer] hexcurse-1.60.0/src/file.c:250:31: style: Parameter 'ch' can be declared as const array [constParameter] hexcurse-1.60.0/src/file.c:395:14: style: Variable 'tmpHead' can be declared as pointer to const [constVariablePointer] hexcurse-1.60.0/src/file.c:412:14: style: Variable 'tmpHead' can be declared as pointer to const [constVariablePointer] hexcurse-1.60.0/src/acceptch.c:39:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BASE [valueFlowBailoutIncompleteVar] hexcurse-1.60.0/src/acceptch.c:821:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable hex_outline_width [valueFlowBailoutIncompleteVar] hexcurse-1.60.0/src/getopt.c:123:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] hexcurse-1.60.0/src/getopt.c:369:11: style: Variable 'temp' can be declared as pointer to const [constVariablePointer] hexcurse-1.60.0/src/acceptch.c:506:30: style: Array index 'count' is used before limits check. [arrayIndexThenCheck] hexcurse-1.60.0/src/acceptch.c:458:7: style: Obsolescent function 'bzero' called. It is recommended to use 'memset' instead. [prohibitedbzeroCalled] hexcurse-1.60.0/src/acceptch.c:499:7: style: Obsolescent function 'bzero' called. It is recommended to use 'memset' instead. [prohibitedbzeroCalled] hexcurse-1.60.0/src/acceptch.c:848:3: error: Common realloc mistake: 'ch' nulled but not freed upon failure [memleakOnRealloc] hexcurse-1.60.0/src/acceptch.c:251:4: warning: If memory allocation fails, then there is a possible null pointer dereference: tmpStack [nullPointerOutOfMemory] hexcurse-1.60.0/src/acceptch.c:250:38: note: Assuming allocation function fails hexcurse-1.60.0/src/acceptch.c:250:19: note: Assignment 'tmpStack=(hexStack*)calloc(1,sizeof(hexStack))', assigned value is 0 hexcurse-1.60.0/src/acceptch.c:251:4: note: Null pointer dereference hexcurse-1.60.0/src/acceptch.c:252:4: warning: If memory allocation fails, then there is a possible null pointer dereference: tmpStack [nullPointerOutOfMemory] hexcurse-1.60.0/src/acceptch.c:250:38: note: Assuming allocation function fails hexcurse-1.60.0/src/acceptch.c:250:19: note: Assignment 'tmpStack=(hexStack*)calloc(1,sizeof(hexStack))', assigned value is 0 hexcurse-1.60.0/src/acceptch.c:252:4: note: Null pointer dereference hexcurse-1.60.0/src/acceptch.c:253:4: warning: If memory allocation fails, then there is a possible null pointer dereference: tmpStack [nullPointerOutOfMemory] hexcurse-1.60.0/src/acceptch.c:250:38: note: Assuming allocation function fails hexcurse-1.60.0/src/acceptch.c:250:19: note: Assignment 'tmpStack=(hexStack*)calloc(1,sizeof(hexStack))', assigned value is 0 hexcurse-1.60.0/src/acceptch.c:253:4: note: Null pointer dereference hexcurse-1.60.0/src/acceptch.c:254:4: warning: If memory allocation fails, then there is a possible null pointer dereference: tmpStack [nullPointerOutOfMemory] hexcurse-1.60.0/src/acceptch.c:250:38: note: Assuming allocation function fails hexcurse-1.60.0/src/acceptch.c:250:19: note: Assignment 'tmpStack=(hexStack*)calloc(1,sizeof(hexStack))', assigned value is 0 hexcurse-1.60.0/src/acceptch.c:254:4: note: Null pointer dereference hexcurse-1.60.0/src/acceptch.c:481:14: warning: Either the condition 'temp!=NULL' is redundant or there is possible null pointer dereference: temp. [nullPointerRedundantCheck] hexcurse-1.60.0/src/acceptch.c:456:12: note: Assuming that condition 'temp!=NULL' is not redundant hexcurse-1.60.0/src/acceptch.c:481:14: note: Null pointer dereference hexcurse-1.60.0/src/acceptch.c:481:40: warning: Either the condition 'temp!=NULL' is redundant or there is possible null pointer dereference: temp. [nullPointerRedundantCheck] hexcurse-1.60.0/src/acceptch.c:456:12: note: Assuming that condition 'temp!=NULL' is not redundant hexcurse-1.60.0/src/acceptch.c:481:40: note: Null pointer dereference hexcurse-1.60.0/src/acceptch.c:883:5: warning: If memory allocation fails, then there is a possible null pointer dereference: ch [nullPointerOutOfMemory] hexcurse-1.60.0/src/acceptch.c:840:24: note: Assuming allocation function fails hexcurse-1.60.0/src/acceptch.c:840:10: note: Assignment 'ch=(char*)malloc(allocated)', assigned value is 0 hexcurse-1.60.0/src/acceptch.c:844:35: note: Assuming condition is false hexcurse-1.60.0/src/acceptch.c:883:5: note: Null pointer dereference hexcurse-1.60.0/src/hexcurse.c:72:41: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable WINS [valueFlowBailoutIncompleteVar] hexcurse-1.60.0/src/hexcurse.c:186:34: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable FALSE [valueFlowBailoutIncompleteVar] hexcurse-1.60.0/src/acceptch.c:47:4: style: Local variable 'currentLine' shadows outer variable [shadowVariable] hexcurse-1.60.0/src/acceptch.c:27:7: note: Shadowed declaration hexcurse-1.60.0/src/acceptch.c:47:4: note: Shadow variable hexcurse-1.60.0/src/acceptch.c:50:11: style: Variable 'gotoLocStr' can be declared as pointer to const [constVariablePointer] hexcurse-1.60.0/src/acceptch.c:52:8: style: Variable 'tmpstr' can be declared as pointer to const [constVariablePointer] hexcurse-1.60.0/src/hexcurse.c:211:5: style: Assignment of function parameter has no effect outside the function. [uselessAssignmentArg] hexcurse-1.60.0/src/acceptch.c:40:11: style: Variable 'lastRow' is assigned a value that is never used. [unreadVariable] hexcurse-1.60.0/src/acceptch.c:40:24: style: Variable 'lastCol' is assigned a value that is never used. [unreadVariable] hexcurse-1.60.0/src/acceptch.c:430:11: style: Variable 'curVal' is assigned a value that is never used. [unreadVariable] hexcurse-1.60.0/src/llist.c:113:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable head [valueFlowBailoutIncompleteVar] hexcurse-1.60.0/src/screen.c:31:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable catchSegfault [valueFlowBailoutIncompleteVar] hexcurse-1.60.0/src/screen.c:169:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable windows [valueFlowBailoutIncompleteVar] hexcurse-1.60.0/src/screen.c:274:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable fpIN [valueFlowBailoutIncompleteVar] hexcurse-1.60.0/src/screen.c:299:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LINES [valueFlowBailoutIncompleteVar] hexcurse-1.60.0/src/screen.c:387:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TRUE [valueFlowBailoutIncompleteVar] hexcurse-1.60.0/src/screen.c:443:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LINES [valueFlowBailoutIncompleteVar] hexcurse-1.60.0/src/screen.c:487:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LINES [valueFlowBailoutIncompleteVar] hexcurse-1.60.0/src/llist.c:33:24: style: Condition 'head->loc==loc' is always true [knownConditionTrueFalse] hexcurse-1.60.0/src/llist.c:29:24: note: Assuming that condition 'head->loc>loc' is not redundant hexcurse-1.60.0/src/llist.c:31:24: note: Assuming that condition 'head->locloc==loc' is always true hexcurse-1.60.0/src/llist.c:91:14: style: Variable 'tmpHead' can be declared as pointer to const [constVariablePointer] hexcurse-1.60.0/src/llist.c:113:14: style: Variable 'tmpHead' can be declared as pointer to const [constVariablePointer] hexcurse-1.60.0/src/stack.c:34:5: error: Null pointer dereference: stack [nullPointer] hexcurse-1.60.0/src/stack.c:33:13: note: Assignment 'stack=NULL', assigned value is 0 hexcurse-1.60.0/src/stack.c:34:5: note: Null pointer dereference hexcurse-1.60.0/src/stack.c:35:5: error: Null pointer dereference: stack [nullPointer] hexcurse-1.60.0/src/stack.c:33:13: note: Assignment 'stack=NULL', assigned value is 0 hexcurse-1.60.0/src/stack.c:35:5: note: Null pointer dereference hexcurse-1.60.0/src/screen.c:105:21: style: Parameter 'err_str' can be declared as pointer to const [constParameterPointer] diff: head hexcurse-1.60.0/src/acceptch.c:50:11: style: Variable 'gotoLocStr' can be declared as pointer to const [constVariablePointer] head hexcurse-1.60.0/src/acceptch.c:52:8: style: Variable 'tmpstr' can be declared as pointer to const [constVariablePointer] DONE