2026-05-01 18:30 ftp://ftp.de.debian.org/debian/pool/main/e/erlang-cl/erlang-cl_1.2.4.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 -j6 platform: Linux-7.0.3+deb14-amd64-x86_64-with-glibc2.42 python: 3.13.12 client-version: 1.4.0 compiler: g++ (Debian 15.2.0-17) 15.2.0 cppcheck: head 2.20.0 head-info: e5c4a734 (2026-05-01 11:10:43 +0200) count: 81 80 elapsed-time: 0.7 0.5 head-timing-info: old-timing-info: head results: cl-cl-1.2.4/c_src/cl_hash.c:326:36: debug: Function::addArguments found argument 'elem' with varid 0. [varid0] cl-cl-1.2.4/c_src/cl_hash.c:360:5: warning: %d in format string (no. 1) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] cl-cl-1.2.4/c_src/cl_hash.c:361:5: warning: %d in format string (no. 1) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] cl-cl-1.2.4/c_src/cl_hash.c:362:5: warning: %d in format string (no. 1) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] cl-cl-1.2.4/c_src/cl_hash.c:363:5: warning: %d in format string (no. 1) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] cl-cl-1.2.4/c_src/cl_hash.c:364:5: warning: %d in format string (no. 1) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] cl-cl-1.2.4/c_src/cl_hash.c:365:5: warning: %d in format string (no. 1) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] cl-cl-1.2.4/c_src/cl_hash.c:366:5: warning: %d in format string (no. 1) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] cl-cl-1.2.4/c_src/cl_hash.c:369:5: warning: %d in format string (no. 1) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] cl-cl-1.2.4/c_src/cl_hash.c:370:5: warning: %d in format string (no. 1) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] cl-cl-1.2.4/c_src/cl_hash.c:371:5: warning: %d in format string (no. 1) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] cl-cl-1.2.4/c_src/cl_hash.c:55:12: warning: If memory allocation fails, then there is a possible null pointer dereference: bp [nullPointerOutOfMemory] cl-cl-1.2.4/c_src/cl_hash.c:54:35: note: Assuming allocation function fails cl-cl-1.2.4/c_src/cl_hash.c:54:10: note: Assignment 'bp=(struct lhash_bucket_t**)malloc(sz)', assigned value is 0 cl-cl-1.2.4/c_src/cl_hash.c:55:12: note: Null pointer dereference cl-cl-1.2.4/c_src/cl_hash.c:326:36: style:inconclusive: Function 'lhash_each' argument 2 names different: declaration '' definition 'elem'. [funcArgNamesDifferentUnnamed] cl-cl-1.2.4/c_src/cl_hash.c:83:71: style: Parameter 'func' can be declared as pointer to const [constParameterPointer] cl-cl-1.2.4/c_src/cl_hash.c:349:18: style: Variable 'list' can be declared as pointer to const [constVariablePointer] cl-cl-1.2.4/c_src/cl_nif.c:2004:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] cl-cl-1.2.4/c_src/cl_nif.c:2948:34: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cl_char [valueFlowBailoutIncompleteVar] cl-cl-1.2.4/c_src/cl_nif.c:3000:69: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ERL_NIF_LATIN1 [valueFlowBailoutIncompleteVar] cl-cl-1.2.4/c_src/cl_nif.c:3140:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable CL_INVALID_VALUE [valueFlowBailoutIncompleteVar] cl-cl-1.2.4/c_src/cl_nif.c:3183:33: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable CL_OUT_OF_RESOURCES [valueFlowBailoutIncompleteVar] cl-cl-1.2.4/c_src/cl_nif.c:3573:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable clGetDeviceInfo [valueFlowBailoutIncompleteVar] cl-cl-1.2.4/c_src/cl_nif.c:3623:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable CL_OUT_OF_RESOURCES [valueFlowBailoutIncompleteVar] cl-cl-1.2.4/c_src/cl_nif.c:3740:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable CL_MEM_COPY_HOST_PTR [valueFlowBailoutIncompleteVar] cl-cl-1.2.4/c_src/cl_nif.c:3885:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable CL_INVALID_OPERATION [valueFlowBailoutIncompleteVar] cl-cl-1.2.4/c_src/cl_nif.c:3901:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable CL_MEM_OBJECT_IMAGE2D [valueFlowBailoutIncompleteVar] cl-cl-1.2.4/c_src/cl_nif.c:3956:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable CL_MEM_COPY_HOST_PTR [valueFlowBailoutIncompleteVar] cl-cl-1.2.4/c_src/cl_nif.c:3985:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable CL_MEM_OBJECT_IMAGE3D [valueFlowBailoutIncompleteVar] cl-cl-1.2.4/c_src/cl_nif.c:4047:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable CL_MEM_COPY_HOST_PTR [valueFlowBailoutIncompleteVar] cl-cl-1.2.4/c_src/cl_nif.c:4147:27: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable image_channel_order [valueFlowBailoutIncompleteVar] cl-cl-1.2.4/c_src/cl_nif.c:4309:30: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable size [valueFlowBailoutIncompleteVar] cl-cl-1.2.4/c_src/cl_nif.c:4446:65: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ERL_NIF_LATIN1 [valueFlowBailoutIncompleteVar] cl-cl-1.2.4/c_src/cl_nif.c:4685:33: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable CL_INVALID_VALUE [valueFlowBailoutIncompleteVar] cl-cl-1.2.4/c_src/cl_nif.c:4710:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable CL_SUCCESS [valueFlowBailoutIncompleteVar] cl-cl-1.2.4/c_src/cl_nif.c:4754:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable CL_PROGRAM_BINARY_SIZES [valueFlowBailoutIncompleteVar] cl-cl-1.2.4/c_src/cl_nif.c:4809:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable CL_PROGRAM_BINARY_SIZES [valueFlowBailoutIncompleteVar] cl-cl-1.2.4/c_src/cl_nif.c:4897:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ERL_NIF_LATIN1 [valueFlowBailoutIncompleteVar] cl-cl-1.2.4/c_src/cl_nif.c:4992:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cl_mem [valueFlowBailoutIncompleteVar] cl-cl-1.2.4/c_src/cl_nif.c:5446:35: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ErlNifBinary [valueFlowBailoutIncompleteVar] cl-cl-1.2.4/c_src/cl_nif.c:5513:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable CL_OUT_OF_RESOURCES [valueFlowBailoutIncompleteVar] cl-cl-1.2.4/c_src/cl_nif.c:5590:35: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ErlNifBinary [valueFlowBailoutIncompleteVar] cl-cl-1.2.4/c_src/cl_nif.c:5911:36: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable CL_OUT_OF_RESOURCES [valueFlowBailoutIncompleteVar] cl-cl-1.2.4/c_src/cl_nif.c:6339:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable CL_FALSE [valueFlowBailoutIncompleteVar] cl-cl-1.2.4/c_src/cl_nif.c:6397:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable CL_FALSE [valueFlowBailoutIncompleteVar] cl-cl-1.2.4/c_src/cl_nif.c:6615:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable CL_OUT_OF_RESOURCES [valueFlowBailoutIncompleteVar] cl-cl-1.2.4/c_src/cl_nif.c:6645:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable CL_OUT_OF_RESOURCES [valueFlowBailoutIncompleteVar] cl-cl-1.2.4/c_src/cl_nif.c:6678:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable CL_OUT_OF_RESOURCES [valueFlowBailoutIncompleteVar] cl-cl-1.2.4/c_src/cl_nif.c:6701:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable clGetEventInfo [valueFlowBailoutIncompleteVar] cl-cl-1.2.4/c_src/cl_nif.c:6751:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable CL_SUCCESS [valueFlowBailoutIncompleteVar] cl-cl-1.2.4/c_src/cl_nif.c:7379:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] cl-cl-1.2.4/c_src/cl_nif.c:7432:27: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ERL_NIF_RT_TAKEOVER [valueFlowBailoutIncompleteVar] cl-cl-1.2.4/c_src/cl_nif.c:2291:41: style: Condition '(r=ecl_queue_get(&thr->q,m))<0' is always false [knownConditionTrueFalse] cl-cl-1.2.4/c_src/cl_nif.c:2291:27: note: Calling function 'ecl_queue_get' returns 0 cl-cl-1.2.4/c_src/cl_nif.c:2291:41: note: Condition '(r=ecl_queue_get(&thr->q,m))<0' is always false cl-cl-1.2.4/c_src/cl_nif.c:7493:39: style: Condition '(r=ecl_queue_get(&ecl->q,&m))<0' is always false [knownConditionTrueFalse] cl-cl-1.2.4/c_src/cl_nif.c:7493:24: note: Calling function 'ecl_queue_get' returns 0 cl-cl-1.2.4/c_src/cl_nif.c:7493:39: note: Condition '(r=ecl_queue_get(&ecl->q,&m))<0' is always false cl-cl-1.2.4/c_src/cl_nif.c:2886:5: warning: Either the condition 'kern' is redundant or there is possible null pointer dereference: kern. [nullPointerRedundantCheck] cl-cl-1.2.4/c_src/cl_nif.c:2891:9: note: Assuming that condition 'kern' is not redundant cl-cl-1.2.4/c_src/cl_nif.c:2886:5: note: Null pointer dereference cl-cl-1.2.4/c_src/cl_nif.c:2887:12: warning: Either the condition 'kern' is redundant or there is possible null pointer dereference: kern. [nullPointerRedundantCheck] cl-cl-1.2.4/c_src/cl_nif.c:2891:9: note: Assuming that condition 'kern' is not redundant cl-cl-1.2.4/c_src/cl_nif.c:2887:12: note: Null pointer dereference cl-cl-1.2.4/c_src/cl_nif.c:2888:5: warning: Either the condition 'kern' is redundant or there is possible null pointer dereference: kern. [nullPointerRedundantCheck] cl-cl-1.2.4/c_src/cl_nif.c:2891:9: note: Assuming that condition 'kern' is not redundant cl-cl-1.2.4/c_src/cl_nif.c:2888:5: note: Null pointer dereference cl-cl-1.2.4/c_src/cl_nif.c:2905:5: warning: Either the condition 'evt' is redundant or there is possible null pointer dereference: evt. [nullPointerRedundantCheck] cl-cl-1.2.4/c_src/cl_nif.c:2910:9: note: Assuming that condition 'evt' is not redundant cl-cl-1.2.4/c_src/cl_nif.c:2905:5: note: Null pointer dereference cl-cl-1.2.4/c_src/cl_nif.c:2906:5: warning: Either the condition 'evt' is redundant or there is possible null pointer dereference: evt. [nullPointerRedundantCheck] cl-cl-1.2.4/c_src/cl_nif.c:2910:9: note: Assuming that condition 'evt' is not redundant cl-cl-1.2.4/c_src/cl_nif.c:2906:5: note: Null pointer dereference cl-cl-1.2.4/c_src/cl_nif.c:2907:5: warning: Either the condition 'evt' is redundant or there is possible null pointer dereference: evt. [nullPointerRedundantCheck] cl-cl-1.2.4/c_src/cl_nif.c:2910:9: note: Assuming that condition 'evt' is not redundant cl-cl-1.2.4/c_src/cl_nif.c:2907:5: note: Null pointer dereference cl-cl-1.2.4/c_src/cl_nif.c:2908:5: warning: Either the condition 'evt' is redundant or there is possible null pointer dereference: evt. [nullPointerRedundantCheck] cl-cl-1.2.4/c_src/cl_nif.c:2910:9: note: Assuming that condition 'evt' is not redundant cl-cl-1.2.4/c_src/cl_nif.c:2908:5: note: Null pointer dereference cl-cl-1.2.4/c_src/cl_nif.c:2921:11: warning: Either the condition 'ctx' is redundant or there is possible null pointer dereference: ctx. [nullPointerRedundantCheck] cl-cl-1.2.4/c_src/cl_nif.c:2931:9: note: Assuming that condition 'ctx' is not redundant cl-cl-1.2.4/c_src/cl_nif.c:2921:11: note: Null pointer dereference cl-cl-1.2.4/c_src/cl_nif.c:2922:5: warning: Either the condition 'ctx' is redundant or there is possible null pointer dereference: ctx. [nullPointerRedundantCheck] cl-cl-1.2.4/c_src/cl_nif.c:2931:9: note: Assuming that condition 'ctx' is not redundant cl-cl-1.2.4/c_src/cl_nif.c:2922:5: note: Null pointer dereference cl-cl-1.2.4/c_src/cl_nif.c:2923:5: warning: Either the condition 'ctx' is redundant or there is possible null pointer dereference: ctx. [nullPointerRedundantCheck] cl-cl-1.2.4/c_src/cl_nif.c:2931:9: note: Assuming that condition 'ctx' is not redundant cl-cl-1.2.4/c_src/cl_nif.c:2923:5: note: Null pointer dereference cl-cl-1.2.4/c_src/cl_nif.c:2927:5: warning: Either the condition 'ctx' is redundant or there is possible null pointer dereference: ctx. [nullPointerRedundantCheck] cl-cl-1.2.4/c_src/cl_nif.c:2931:9: note: Assuming that condition 'ctx' is not redundant cl-cl-1.2.4/c_src/cl_nif.c:2927:5: note: Null pointer dereference cl-cl-1.2.4/c_src/cl_nif.c:4682:13: style: Local variable 'ecl' shadows outer variable [shadowVariable] cl-cl-1.2.4/c_src/cl_nif.c:4676:16: note: Shadowed declaration cl-cl-1.2.4/c_src/cl_nif.c:4682:13: note: Shadow variable cl-cl-1.2.4/c_src/cl_nif.c:1996:34: style: Parameter 'file' can be declared as pointer to const [constParameterPointer] cl-cl-1.2.4/c_src/cl_nif.c:1999:11: style: Variable 'fmt' can be declared as pointer to const [constVariablePointer] cl-cl-1.2.4/c_src/cl_nif.c:2047:34: style: Parameter 'kv' can be declared as pointer to const [constParameterPointer] cl-cl-1.2.4/c_src/cl_nif.c:2137:37: style: Parameter 'key' can be declared as pointer to const. However it seems that 'ref_hash' is a callback function, if 'key' is declared with const you might also need to cast function pointer(s). [constParameterCallback] cl-cl-1.2.4/c_src/cl_nif.c:6786:27: note: You might need to cast the function pointer here cl-cl-1.2.4/c_src/cl_nif.c:2137:37: note: Parameter 'key' can be declared as pointer to const cl-cl-1.2.4/c_src/cl_nif.c:2142:26: style: Parameter 'key' can be declared as pointer to const. However it seems that 'ref_cmp' is a callback function, if 'key' is declared with const you might also need to cast function pointer(s). [constParameterCallback] cl-cl-1.2.4/c_src/cl_nif.c:6786:37: note: You might need to cast the function pointer here cl-cl-1.2.4/c_src/cl_nif.c:2142:26: note: Parameter 'key' can be declared as pointer to const cl-cl-1.2.4/c_src/cl_nif.c:2212:57: style: Parameter 'm' can be declared as pointer to const [constParameterPointer] cl-cl-1.2.4/c_src/cl_nif.c:3641:16: style: Variable 'dev' can be declared as pointer to const [constVariablePointer] cl-cl-1.2.4/c_src/cl_nif.c:4676:16: style: Variable 'ecl' can be declared as pointer to const [constVariablePointer] cl-cl-1.2.4/c_src/cl_nif.c:7369:45: style: Parameter 'ecl' can be declared as pointer to const [constParameterPointer] cl-cl-1.2.4/c_src/cl_nif.c:3257:7: style: Variable 'res' is assigned a value that is never used. [unreadVariable] cl-cl-1.2.4/c_src/cl_nif.c:3279:7: style: Variable 'res' is assigned a value that is never used. [unreadVariable] cl-cl-1.2.4/c_src/cl_nif.c:3331:7: style: Variable 'res' is assigned a value that is never used. [unreadVariable] cl-cl-1.2.4/c_src/cl_nif.c:3368:18: style: Unused variable: vsn [unusedVariable] cl-cl-1.2.4/c_src/cl_nif.c:4416:9: style: Variable 'res' is assigned a value that is never used. [unreadVariable] cl-cl-1.2.4/c_src/cl_nif.c:6337:9: style: Variable 'ptr' is assigned a value that is never used. [unreadVariable] cl-cl-1.2.4/c_src/cl_nif.c:6395:9: style: Variable 'ptr' is assigned a value that is never used. [unreadVariable] cl-cl-1.2.4/c_src/cl_nif.c:7493:9: style: Variable 'r' is assigned a value that is never used. [unreadVariable] diff: head cl-cl-1.2.4/c_src/cl_hash.c:326:36: style:inconclusive: Function 'lhash_each' argument 2 names different: declaration '' definition 'elem'. [funcArgNamesDifferentUnnamed] DONE