2026-05-02 18:05 ftp://ftp.de.debian.org/debian/pool/main/j/jester/jester_1.0.orig.tar.gz cppcheck-options: --library=posix --library=gnu --library=bsd --library=motif --inconclusive --enable=style,information --inline-suppr --template=daca2 --disable=missingInclude --suppress=unmatchedSuppression --check-library --debug-warnings --suppress=autoNoType --suppress=valueFlowBailout --suppress=bailoutUninitVar --suppress=symbolDatabaseWarning --suppress=normalCheckLevelConditionExpressions -D__GNUC__ --platform=unix64 -j1 platform: Linux-6.8.0-111-generic-x86_64-with-glibc2.39 python: 3.12.3 client-version: 1.3.70 compiler: g++ (Ubuntu 14.2.0-4ubuntu2~24.04.1) 14.2.0 cppcheck: head 2.20.0 head-info: e5c4a73 (2026-05-01 11:10:43 +0200) count: 42 42 elapsed-time: 0.4 0.3 head-timing-info: old-timing-info: head results: jester-1.0/jester.c:53:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] jester-1.0/jester.c:242:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] jester-1.0/jester.c:321:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable x [valueFlowBailoutIncompleteVar] jester-1.0/jester.c:383:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] jester-1.0/jester.c:835:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] jester-1.0/jester.c:860:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] jester-1.0/jester.c:986:45: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable XC_hand2 [valueFlowBailoutIncompleteVar] jester-1.0/jester.c:1021:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PMinSize [valueFlowBailoutIncompleteVar] jester-1.0/jester.c:1073:45: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ExposureMask [valueFlowBailoutIncompleteVar] jester-1.0/jester.c:1091:39: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ExposureMask [valueFlowBailoutIncompleteVar] jester-1.0/jester.c:1112:43: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ExposureMask [valueFlowBailoutIncompleteVar] jester-1.0/jester.c:1141:6: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ExposureMask [valueFlowBailoutIncompleteVar] jester-1.0/jester.c:77:18: style: Condition 'set_up_stuff(argc,argv)' is always false [knownConditionTrueFalse] jester-1.0/jester.c:142:12: note: Assignment 'rv=0', assigned value is 0 jester-1.0/jester.c:77:18: note: Calling function 'set_up_stuff' returns 0 jester-1.0/jester.c:77:18: note: Condition 'set_up_stuff(argc,argv)' is always false jester-1.0/jester.c:238:12: warning: If memory allocation fails, then there is a possible null pointer dereference: rv [nullPointerOutOfMemory] jester-1.0/jester.c:237:24: note: Assuming allocation function fails jester-1.0/jester.c:237:10: note: Assignment 'rv=(char*)malloc(strlen(s)+1)', assigned value is 0 jester-1.0/jester.c:238:12: note: Null pointer dereference jester-1.0/jester.c:1251:12: warning: If memory allocation fails, then there is a possible null pointer dereference: copy [nullPointerOutOfMemory] jester-1.0/jester.c:1250:26: note: Assuming allocation function fails jester-1.0/jester.c:1250:12: note: Assignment 'copy=(char*)malloc(strlen(s)+1)', assigned value is 0 jester-1.0/jester.c:1251:12: note: Null pointer dereference jester-1.0/jester.c:1253:12: warning: If memory allocation fails, then there is a possible null pointer dereference: p1 [nullPointerOutOfMemory] jester-1.0/jester.c:1250:26: note: Assuming allocation function fails jester-1.0/jester.c:1250:12: note: Assignment 'copy=(char*)malloc(strlen(s)+1)', assigned value is 0 jester-1.0/jester.c:1252:10: note: Assignment 'p1=copy', assigned value is 0 jester-1.0/jester.c:1253:12: note: Null pointer dereference jester-1.0/jester.c:1254:9: error: If memory allocation fails: pointer addition with NULL pointer. [nullPointerArithmeticOutOfMemory] jester-1.0/jester.c:1250:26: note: Assuming allocation function fails jester-1.0/jester.c:1250:12: note: Assignment 'copy=(char*)malloc(strlen(s)+1)', assigned value is 0 jester-1.0/jester.c:1252:10: note: Assignment 'p1=copy', assigned value is 0 jester-1.0/jester.c:1254:9: note: Null pointer addition jester-1.0/jester.c:1192:33: style:inconclusive: Function 'get_best_ai_move' argument 1 names different: declaration 'move' definition 'coords'. [funcArgNamesDifferent] jester-1.0/jester.h:156:38: note: Function 'get_best_ai_move' argument 1 names different: declaration 'move' definition 'coords'. jester-1.0/jester.c:1192:33: note: Function 'get_best_ai_move' argument 1 names different: declaration 'move' definition 'coords'. jester-1.0/jester.c:35:9: style: Variable 's' can be declared as pointer to const [constVariablePointer] jester-1.0/jester.c:119:49: style: Parameter 'event' can be declared as pointer to const [constParameterPointer] jester-1.0/jester.c:228:9: style: Variable 's' can be declared as pointer to const [constVariablePointer] jester-1.0/jester.c:259:25: style: Parameter 'display_name' can be declared as pointer to const [constParameterPointer] jester-1.0/jester.c:494:22: style: Parameter 'event' can be declared as pointer to const. However it seems that 'board_expose' is a callback function, if 'event' is declared with const you might also need to cast function pointer(s). [constParameterCallback] jester-1.0/jester.c:1048:25: note: You might need to cast the function pointer here jester-1.0/jester.c:494:22: note: Parameter 'event' can be declared as pointer to const jester-1.0/jester.c:817:33: style: Parameter 'event' can be declared as pointer to const. However it seems that 'exit_button_buttonpress' is a callback function, if 'event' is declared with const you might also need to cast function pointer(s). [constParameterCallback] jester-1.0/jester.c:1071:30: note: You might need to cast the function pointer here jester-1.0/jester.c:817:33: note: Parameter 'event' can be declared as pointer to const jester-1.0/jester.c:873:29: style: Parameter 'event' can be declared as pointer to const. However it seems that 'score_window_expose' is a callback function, if 'event' is declared with const you might also need to cast function pointer(s). [constParameterCallback] jester-1.0/jester.c:1089:25: note: You might need to cast the function pointer here jester-1.0/jester.c:873:29: note: Parameter 'event' can be declared as pointer to const jester-1.0/jester.c:882:27: style: Parameter 'format' can be declared as pointer to const [constParameterPointer] jester-1.0/jester.c:906:33: style: Parameter 'event' can be declared as pointer to const. However it seems that 'player_id_window_expose' is a callback function, if 'event' is declared with const you might also need to cast function pointer(s). [constParameterCallback] jester-1.0/jester.c:1109:25: note: You might need to cast the function pointer here jester-1.0/jester.c:906:33: note: Parameter 'event' can be declared as pointer to const jester-1.0/jester.c:1148:53: style: Parameter 'option' can be declared as pointer to const [constParameterPointer] jester-1.0/jester.c:1218:33: style: Parameter 'argv' can be declared as const array [constParameter] jester-1.0/jester.c:1218:47: style: Parameter 'option' can be declared as pointer to const [constParameterPointer] jester-1.0/jester.c:1244:9: style: Variable 's' can be declared as pointer to const [constVariablePointer] jester-1.0/jester.c:206:16: style: Variable 'j' is assigned a value that is never used. [unreadVariable] jester-1.0/jester.c:524:9: style: Variable 'i' is assigned a value that is never used. [unreadVariable] jester-1.0/jester.c:524:16: style: Variable 'j' is assigned a value that is never used. [unreadVariable] jester-1.0/jester.c:742:16: style: Variable 'j' is assigned a value that is never used. [unreadVariable] jester-1.0/jester.c:759:16: style: Variable 'j' is assigned a value that is never used. [unreadVariable] jester-1.0/jester.c:958:9: style: Variable 'i' is assigned a value that is never used. [unreadVariable] jester-1.0/jester.c:958:16: style: Variable 'j' is assigned a value that is never used. [unreadVariable] jester-1.0/jester.c:995:16: style: Variable 'j' is assigned a value that is never used. [unreadVariable] jester-1.0/jester.c:1122:16: style: Variable 'j' is assigned a value that is never used. [unreadVariable] jester-1.0/jester.c:1195:16: style: Variable 'j' is assigned a value that is never used. [unreadVariable] jester-1.0/jester.c:1195:38: style: Variable 'tmp' is assigned a value that is never used. [unreadVariable] diff: DONE