2026-02-15 19:34 ftp://ftp.de.debian.org/debian/pool/main/libc/libcryptx-perl/libcryptx-perl_0.087.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 -j1 platform: Linux-6.8.0-100-generic-x86_64-with-glibc2.39 python: 3.12.3 client-version: 1.3.69 compiler: g++ (Ubuntu 14.2.0-4ubuntu2~24.04) 14.2.0 cppcheck: head 2.19.0 head-info: a150ff4 (2026-02-15 12:51:46 +0100) count: 80 80 elapsed-time: 18.5 8.0 head-timing-info: old-timing-info: head results: CryptX-0.087/src/ltc/hashes/helper/hash_file.c:26:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable CRYPT_OK [valueFlowBailoutIncompleteVar] CryptX-0.087/src/ltc/hashes/helper/hash_filehandle.c:30:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LTC_FILE_READ_BUFSIZE [valueFlowBailoutIncompleteVar] CryptX-0.087/src/ltc/math/radix_to_bin.c:37:37: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable CRYPT_OK [valueFlowBailoutIncompleteVar] CryptX-0.087/src/ltc/math/rand_prime.c:31:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable CRYPT_INVALID_PRIME_SIZE [valueFlowBailoutIncompleteVar] CryptX-0.087/src/ltc/misc/crypt/crypt.c:13:19: error: There is an unknown macro here somewhere. Configuration is required. If SCRYPT is a macro then please configure it. [unknownMacro] CryptX-0.087/src/ltc/misc/crypt/crypt_argchk.c:13:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] CryptX-0.087/src/ltc/misc/crypt/crypt_cipher_is_valid.c:17:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ltc_cipher_mutex [valueFlowBailoutIncompleteVar] CryptX-0.087/src/ltc/misc/crypt/crypt_find_cipher.c:19:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ltc_cipher_mutex [valueFlowBailoutIncompleteVar] CryptX-0.087/src/ltc/misc/crypt/crypt_find_cipher_any.c:26:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ltc_cipher_mutex [valueFlowBailoutIncompleteVar] CryptX-0.087/src/ltc/misc/crypt/crypt_find_cipher_id.c:18:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ltc_cipher_mutex [valueFlowBailoutIncompleteVar] CryptX-0.087/src/ltc/misc/crypt/crypt_find_hash.c:19:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ltc_hash_mutex [valueFlowBailoutIncompleteVar] CryptX-0.087/src/ltc/misc/crypt/crypt_find_hash_any.c:23:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ltc_hash_mutex [valueFlowBailoutIncompleteVar] CryptX-0.087/src/ltc/misc/crypt/crypt_find_hash_id.c:18:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ltc_hash_mutex [valueFlowBailoutIncompleteVar] CryptX-0.087/src/ltc/misc/crypt/crypt_find_hash_oid.c:14:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ltc_hash_mutex [valueFlowBailoutIncompleteVar] CryptX-0.087/src/ltc/misc/crypt/crypt_find_prng.c:19:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ltc_prng_mutex [valueFlowBailoutIncompleteVar] CryptX-0.087/src/ltc/misc/crypt/crypt_fsa.c:18:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ltc_mp [valueFlowBailoutIncompleteVar] CryptX-0.087/src/ltc/misc/crypt/crypt_hash_is_valid.c:17:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ltc_hash_mutex [valueFlowBailoutIncompleteVar] CryptX-0.087/src/ltc/misc/crypt/crypt_inits.c:36:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable CRYPT_ERROR [valueFlowBailoutIncompleteVar] CryptX-0.087/src/ltc/misc/crypt/crypt_prng_is_valid.c:17:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ltc_prng_mutex [valueFlowBailoutIncompleteVar] CryptX-0.087/src/ltc/misc/crypt/crypt_register_all_ciphers.c:103:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable CRYPT_OK [valueFlowBailoutIncompleteVar] CryptX-0.087/src/ltc/misc/crypt/crypt_register_all_hashes.c:95:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable CRYPT_OK [valueFlowBailoutIncompleteVar] CryptX-0.087/src/ltc/misc/crypt/crypt_register_all_prngs.c:37:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable CRYPT_OK [valueFlowBailoutIncompleteVar] CryptX-0.087/src/ltc/misc/crypt/crypt_register_cipher.c:22:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ltc_cipher_mutex [valueFlowBailoutIncompleteVar] CryptX-0.087/src/ltc/misc/crypt/crypt_register_hash.c:22:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ltc_hash_mutex [valueFlowBailoutIncompleteVar] CryptX-0.087/src/ltc/misc/crypt/crypt_register_prng.c:22:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ltc_prng_mutex [valueFlowBailoutIncompleteVar] CryptX-0.087/src/ltc/misc/crypt/crypt_unregister_cipher.c:22:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ltc_cipher_mutex [valueFlowBailoutIncompleteVar] CryptX-0.087/src/ltc/misc/crypt/crypt_unregister_hash.c:22:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ltc_hash_mutex [valueFlowBailoutIncompleteVar] CryptX-0.087/src/ltc/misc/crypt/crypt_unregister_prng.c:22:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ltc_prng_mutex [valueFlowBailoutIncompleteVar] CryptX-0.087/src/ltc/misc/error_to_string.c:57:1: error: There is an unknown macro here somewhere. Configuration is required. If LTC_STATIC_ASSERT is a macro then please configure it. [unknownMacro] CryptX-0.087/src/ltc/pk/asn1/oid/pk_oid_cmp.c:12:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LTC_OID_MAX_STRLEN [valueFlowBailoutIncompleteVar] CryptX-0.087/src/ltc/pk/asn1/oid/pk_oid_str.c:17:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable CRYPT_OK [valueFlowBailoutIncompleteVar] CryptX-0.087/src/ltc/pk/asn1/oid/pk_oid_str.c:49:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LTC_OID_MAX_STRLEN [valueFlowBailoutIncompleteVar] CryptX-0.087/src/ltc/pk/ec25519/tweetnacl.c:230:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable CRYPT_OVERFLOW [valueFlowBailoutIncompleteVar] CryptX-0.087/src/ltc/pk/ec25519/tweetnacl.c:331:39: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable CRYPT_OK [valueFlowBailoutIncompleteVar] CryptX-0.087/src/ltc/pk/ec25519/tweetnacl.c:459:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable CRYPT_BUFFER_OVERFLOW [valueFlowBailoutIncompleteVar] CryptX-0.087/src/ltc/pk/pka_key.c:18:32: style: Parameter 'key' can be declared as pointer to const [constParameterPointer] CryptX-0.087/src/ltm/mp_exptmod.c:29:44: portability: Passing NULL after the last typed argument to a variadic function leads to undefined behaviour. [varFuncNullUB] CryptX-0.087/src/ltm/mp_exptmod.c:46:34: portability: Passing NULL after the last typed argument to a variadic function leads to undefined behaviour. [varFuncNullUB] CryptX-0.087/src/ltm/mp_exteuclid.c:14:82: portability: Passing NULL after the last typed argument to a variadic function leads to undefined behaviour. [varFuncNullUB] CryptX-0.087/src/ltm/mp_exteuclid.c:69:72: portability: Passing NULL after the last typed argument to a variadic function leads to undefined behaviour. [varFuncNullUB] CryptX-0.087/src/ltm/mp_fread.c:27:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] CryptX-0.087/src/ltm/mp_lcm.c:13:37: portability: Passing NULL after the last typed argument to a variadic function leads to undefined behaviour. [varFuncNullUB] CryptX-0.087/src/ltm/mp_lcm.c:41:27: portability: Passing NULL after the last typed argument to a variadic function leads to undefined behaviour. [varFuncNullUB] CryptX-0.087/src/ltm/mp_log.c:31:41: portability: Passing NULL after the last typed argument to a variadic function leads to undefined behaviour. [varFuncNullUB] CryptX-0.087/src/ltm/mp_log.c:47:31: portability: Passing NULL after the last typed argument to a variadic function leads to undefined behaviour. [varFuncNullUB] CryptX-0.087/src/ltm/mp_log.c:51:46: style:inconclusive: Function 'mp_log' argument 2 names different: declaration 'base' definition 'b'. [funcArgNamesDifferent] CryptX-0.087/src/ltm/tommath.h:420:46: note: Function 'mp_log' argument 2 names different: declaration 'base' definition 'b'. CryptX-0.087/src/ltm/mp_log.c:51:46: note: Function 'mp_log' argument 2 names different: declaration 'base' definition 'b'. CryptX-0.087/src/ltm/mp_log.c:51:54: style:inconclusive: Function 'mp_log' argument 3 names different: declaration 'c' definition 'lb'. [funcArgNamesDifferent] CryptX-0.087/src/ltm/tommath.h:420:57: note: Function 'mp_log' argument 3 names different: declaration 'c' definition 'lb'. CryptX-0.087/src/ltm/mp_log.c:51:54: note: Function 'mp_log' argument 3 names different: declaration 'c' definition 'lb'. CryptX-0.087/src/ltm/mp_pack.c:29:7: style: Variable 'p' can be declared as pointer to const [constVariablePointer] CryptX-0.087/src/ltm/mp_prime_frobenius_underwood.c:29:56: portability: Passing NULL after the last typed argument to a variadic function leads to undefined behaviour. [varFuncNullUB] CryptX-0.087/src/ltm/mp_prime_frobenius_underwood.c:122:46: portability: Passing NULL after the last typed argument to a variadic function leads to undefined behaviour. [varFuncNullUB] CryptX-0.087/src/ltm/mp_prime_strong_lucas_selfridge.c:69:120: portability: Passing NULL after the last typed argument to a variadic function leads to undefined behaviour. [varFuncNullUB] CryptX-0.087/src/ltm/mp_prime_strong_lucas_selfridge.c:278:110: portability: Passing NULL after the last typed argument to a variadic function leads to undefined behaviour. [varFuncNullUB] CryptX-0.087/src/ltm/mp_root_n.c:30:42: portability: Passing NULL after the last typed argument to a variadic function leads to undefined behaviour. [varFuncNullUB] CryptX-0.087/src/ltm/mp_root_n.c:137:32: portability: Passing NULL after the last typed argument to a variadic function leads to undefined behaviour. [varFuncNullUB] CryptX-0.087/src/ltm/mp_sqrtmod_prime.c:32:58: portability: Passing NULL after the last typed argument to a variadic function leads to undefined behaviour. [varFuncNullUB] CryptX-0.087/src/ltm/mp_sqrtmod_prime.c:129:48: portability: Passing NULL after the last typed argument to a variadic function leads to undefined behaviour. [varFuncNullUB] CryptX-0.087/src/ltm/mp_unpack.c:19:7: style: Variable 'p' can be declared as pointer to const [constVariablePointer] CryptX-0.087/src/ltm/s_mp_div_recursive.c:27:71: portability: Passing NULL after the last typed argument to a variadic function leads to undefined behaviour. [varFuncNullUB] CryptX-0.087/src/ltm/s_mp_div_recursive.c:75:61: portability: Passing NULL after the last typed argument to a variadic function leads to undefined behaviour. [varFuncNullUB] CryptX-0.087/src/ltm/s_mp_div_recursive.c:88:64: portability: Passing NULL after the last typed argument to a variadic function leads to undefined behaviour. [varFuncNullUB] CryptX-0.087/src/ltm/s_mp_div_recursive.c:155:54: portability: Passing NULL after the last typed argument to a variadic function leads to undefined behaviour. [varFuncNullUB] CryptX-0.087/src/ltm/s_mp_div_small.c:15:46: portability: Passing NULL after the last typed argument to a variadic function leads to undefined behaviour. [varFuncNullUB] CryptX-0.087/src/ltm/s_mp_div_small.c:47:36: portability: Passing NULL after the last typed argument to a variadic function leads to undefined behaviour. [varFuncNullUB] CryptX-0.087/src/ltm/s_mp_fp_log.c:14:55: portability: Passing NULL after the last typed argument to a variadic function leads to undefined behaviour. [varFuncNullUB] CryptX-0.087/src/ltm/s_mp_fp_log.c:40:45: portability: Passing NULL after the last typed argument to a variadic function leads to undefined behaviour. [varFuncNullUB] CryptX-0.087/src/ltm/s_mp_fp_log.c:59:36: portability: Passing NULL after the last typed argument to a variadic function leads to undefined behaviour. [varFuncNullUB] CryptX-0.087/src/ltm/s_mp_fp_log.c:78:26: portability: Passing NULL after the last typed argument to a variadic function leads to undefined behaviour. [varFuncNullUB] CryptX-0.087/src/ltm/s_mp_invmod.c:19:43: portability: Passing NULL after the last typed argument to a variadic function leads to undefined behaviour. [varFuncNullUB] CryptX-0.087/src/ltm/s_mp_invmod.c:114:49: portability: Passing NULL after the last typed argument to a variadic function leads to undefined behaviour. [varFuncNullUB] CryptX-0.087/src/ltm/s_mp_invmod_odd.c:23:51: portability: Passing NULL after the last typed argument to a variadic function leads to undefined behaviour. [varFuncNullUB] CryptX-0.087/src/ltm/s_mp_invmod_odd.c:110:41: portability: Passing NULL after the last typed argument to a variadic function leads to undefined behaviour. [varFuncNullUB] CryptX-0.087/src/ltm/s_mp_mul_balance.c:18:37: portability: Passing NULL after the last typed argument to a variadic function leads to undefined behaviour. [varFuncNullUB] CryptX-0.087/src/ltm/s_mp_mul_balance.c:68:32: portability: Passing NULL after the last typed argument to a variadic function leads to undefined behaviour. [varFuncNullUB] CryptX-0.087/src/ltm/s_mp_mul_high_comba.c:37:4: style: Variable 'pa' is assigned an expression that holds the same value. [redundantAssignment] CryptX-0.087/src/ltm/s_mp_mul_high_comba.c:30:7: note: pa is assigned 'a->used+b->used' here. CryptX-0.087/src/ltm/s_mp_mul_high_comba.c:31:31: note: Assuming condition is false CryptX-0.087/src/ltm/s_mp_mul_high_comba.c:37:4: note: Variable 'pa' is assigned an expression that holds the same value. CryptX-0.087/src/ltm/s_mp_mul_toom.c:39:42: portability: Passing NULL after the last typed argument to a variadic function leads to undefined behaviour. [varFuncNullUB] CryptX-0.087/src/ltm/s_mp_mul_toom.c:198:32: portability: Passing NULL after the last typed argument to a variadic function leads to undefined behaviour. [varFuncNullUB] CryptX-0.087/src/ltm/s_mp_radix_size_overestimate.c:59:49: portability: Passing NULL after the last typed argument to a variadic function leads to undefined behaviour. [varFuncNullUB] CryptX-0.087/src/ltm/s_mp_radix_size_overestimate.c:78:39: portability: Passing NULL after the last typed argument to a variadic function leads to undefined behaviour. [varFuncNullUB] CryptX-0.087/src/ltm/s_mp_rand_platform.c:105:33: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDONLY [valueFlowBailoutIncompleteVar] CryptX-0.087/src/ltm/s_mp_rand_platform.c:143:12: style: Condition 'err!=MP_OKAY' is always true [knownConditionTrueFalse] CryptX-0.087/src/ltm/s_mp_rand_platform.c:132:17: note: Assignment 'err=MP_ERR', assigned value is -1 CryptX-0.087/src/ltm/s_mp_rand_platform.c:143:12: note: Condition 'err!=MP_OKAY' is always true diff: DONE