2025-05-07 07:36 ftp://ftp.de.debian.org/debian/pool/main/p/python-rapidjson/python-rapidjson_1.4.orig.tar.xz cppcheck-options: --library=posix --library=gnu --library=bsd --library=python --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-59-generic-x86_64-with-glibc2.39 python: 3.12.3 client-version: 1.3.67 compiler: g++ (Ubuntu 14.2.0-4ubuntu2~24.04) 14.2.0 cppcheck: head 2.17.0 head-info: 8e656e5 (2025-05-06 23:42:00 +0200) count: 87 87 elapsed-time: 3.2 2.8 head-timing-info: old-timing-info: head results: python-rapidjson-1.4/rapidjson.cpp:546:31: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Py_None [valueFlowBailoutIncompleteVar] python-rapidjson-1.4/rapidjson.cpp:589:31: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Py_None [valueFlowBailoutIncompleteVar] python-rapidjson-1.4/rapidjson.cpp:614:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Py_None [valueFlowBailoutIncompleteVar] python-rapidjson-1.4/rapidjson.cpp:641:31: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Py_None [valueFlowBailoutIncompleteVar] python-rapidjson-1.4/rapidjson.cpp:661:31: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Py_None [valueFlowBailoutIncompleteVar] python-rapidjson-1.4/rapidjson.cpp:680:31: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Py_None [valueFlowBailoutIncompleteVar] python-rapidjson-1.4/rapidjson.cpp:699:31: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Py_None [valueFlowBailoutIncompleteVar] python-rapidjson-1.4/rapidjson.cpp:718:31: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Py_None [valueFlowBailoutIncompleteVar] python-rapidjson-1.4/rapidjson.cpp:737:31: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Py_None [valueFlowBailoutIncompleteVar] python-rapidjson-1.4/rapidjson.cpp:757:31: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Py_None [valueFlowBailoutIncompleteVar] python-rapidjson-1.4/rapidjson.cpp:960:33: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PyExc_ValueError [valueFlowBailoutIncompleteVar] python-rapidjson-1.4/rapidjson.cpp:1174:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PyExc_ValueError [valueFlowBailoutIncompleteVar] python-rapidjson-1.4/rapidjson.cpp:1194:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PyExc_ValueError [valueFlowBailoutIncompleteVar] python-rapidjson-1.4/rapidjson.cpp:1218:27: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Py_None [valueFlowBailoutIncompleteVar] python-rapidjson-1.4/rapidjson.cpp:1225:41: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Py_False [valueFlowBailoutIncompleteVar] python-rapidjson-1.4/rapidjson.cpp:1290:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PyExc_ValueError [valueFlowBailoutIncompleteVar] python-rapidjson-1.4/rapidjson.cpp:1431:36: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable DateTimeType [valueFlowBailoutIncompleteVar] python-rapidjson-1.4/rapidjson.cpp:1614:27: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Py_None [valueFlowBailoutIncompleteVar] python-rapidjson-1.4/rapidjson.cpp:1733:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PyExc_TypeError [valueFlowBailoutIncompleteVar] python-rapidjson-1.4/rapidjson.cpp:2101:41: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Py_None [valueFlowBailoutIncompleteVar] python-rapidjson-1.4/rapidjson.cpp:2186:30: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Py_None [valueFlowBailoutIncompleteVar] python-rapidjson-1.4/rapidjson.cpp:2338:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Py_None [valueFlowBailoutIncompleteVar] python-rapidjson-1.4/rapidjson.cpp:3067:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Py_None [valueFlowBailoutIncompleteVar] python-rapidjson-1.4/rapidjson.cpp:3196:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Py_None [valueFlowBailoutIncompleteVar] python-rapidjson-1.4/rapidjson.cpp:3390:37: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable kFormatSingleLineArray [valueFlowBailoutIncompleteVar] python-rapidjson-1.4/rapidjson.cpp:3430:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Py_None [valueFlowBailoutIncompleteVar] python-rapidjson-1.4/rapidjson.cpp:3478:37: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Py_None [valueFlowBailoutIncompleteVar] python-rapidjson-1.4/rapidjson.cpp:3694:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PyExc_TypeError [valueFlowBailoutIncompleteVar] python-rapidjson-1.4/rapidjson.cpp:3767:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PyExc_TypeError [valueFlowBailoutIncompleteVar] python-rapidjson-1.4/rapidjson.cpp:3830:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PyDateTime_IMPORT [valueFlowBailoutIncompleteVar] python-rapidjson-1.4/rapidjson.cpp:277:10: performance:inconclusive: Technically the member function 'PyReadStreamWrapper::Flush' can be static (but you may consider moving to unnamed namespace). [functionStatic] python-rapidjson-1.4/rapidjson.cpp:281:10: performance:inconclusive: Technically the member function 'PyReadStreamWrapper::Put' can be static (but you may consider moving to unnamed namespace). [functionStatic] python-rapidjson-1.4/rapidjson.cpp:285:9: performance:inconclusive: Technically the member function 'PyReadStreamWrapper::PutBegin' can be static (but you may consider moving to unnamed namespace). [functionStatic] python-rapidjson-1.4/rapidjson.cpp:290:12: performance:inconclusive: Technically the member function 'PyReadStreamWrapper::PutEnd' can be static (but you may consider moving to unnamed namespace). [functionStatic] python-rapidjson-1.4/rapidjson.cpp:357:8: performance:inconclusive: Technically the member function 'PyWriteStreamWrapper::Peek' can be static (but you may consider moving to unnamed namespace). [functionStatic] python-rapidjson-1.4/rapidjson.cpp:362:8: performance:inconclusive: Technically the member function 'PyWriteStreamWrapper::Take' can be static (but you may consider moving to unnamed namespace). [functionStatic] python-rapidjson-1.4/rapidjson.cpp:367:12: performance:inconclusive: Technically the member function 'PyWriteStreamWrapper::Tell' can be static (but you may consider moving to unnamed namespace). [functionStatic] python-rapidjson-1.4/rapidjson.cpp:419:9: performance:inconclusive: Technically the member function 'PyWriteStreamWrapper::PutBegin' can be static (but you may consider moving to unnamed namespace). [functionStatic] python-rapidjson-1.4/rapidjson.cpp:424:12: performance:inconclusive: Technically the member function 'PyWriteStreamWrapper::PutEnd' can be static (but you may consider moving to unnamed namespace). [functionStatic] python-rapidjson-1.4/rapidjson.cpp:1302:10: performance:inconclusive: Technically the member function 'PyHandler::IsIso8601Date' can be static (but you may consider moving to unnamed namespace). [functionStatic] python-rapidjson-1.4/rapidjson.cpp:1315:10: performance:inconclusive: Technically the member function 'PyHandler::IsIso8601Offset' can be static (but you may consider moving to unnamed namespace). [functionStatic] python-rapidjson-1.4/rapidjson.cpp:1492:10: style:inconclusive: Technically the member function 'PyHandler::IsUuid' can be const. [functionConst] python-rapidjson-1.4/rapidjson.cpp:344:18: style: C-style pointer casting [cstyleCast] python-rapidjson-1.4/rapidjson.cpp:459:28: style: C-style pointer casting [cstyleCast] python-rapidjson-1.4/rapidjson.cpp:473:55: style: C-style pointer casting [cstyleCast] python-rapidjson-1.4/rapidjson.cpp:476:7: style: C-style pointer casting [cstyleCast] python-rapidjson-1.4/rapidjson.cpp:791:34: style: C-style pointer casting [cstyleCast] python-rapidjson-1.4/rapidjson.cpp:853:28: style: C-style pointer casting [cstyleCast] python-rapidjson-1.4/rapidjson.cpp:929:24: style: C-style pointer casting [cstyleCast] python-rapidjson-1.4/rapidjson.cpp:934:32: style: C-style pointer casting [cstyleCast] python-rapidjson-1.4/rapidjson.cpp:993:24: style: C-style pointer casting [cstyleCast] python-rapidjson-1.4/rapidjson.cpp:1115:24: style: C-style pointer casting [cstyleCast] python-rapidjson-1.4/rapidjson.cpp:1603:38: style: C-style pointer casting [cstyleCast] python-rapidjson-1.4/rapidjson.cpp:1721:38: style: C-style pointer casting [cstyleCast] python-rapidjson-1.4/rapidjson.cpp:2028:29: style: C-style pointer casting [cstyleCast] python-rapidjson-1.4/rapidjson.cpp:2096:38: style: C-style pointer casting [cstyleCast] python-rapidjson-1.4/rapidjson.cpp:2144:25: style: C-style pointer casting [cstyleCast] python-rapidjson-1.4/rapidjson.cpp:2178:38: style: C-style pointer casting [cstyleCast] python-rapidjson-1.4/rapidjson.cpp:2260:10: style: C-style pointer casting [cstyleCast] python-rapidjson-1.4/rapidjson.cpp:2882:46: style: C-style pointer casting [cstyleCast] python-rapidjson-1.4/rapidjson.cpp:2943:45: style: C-style pointer casting [cstyleCast] python-rapidjson-1.4/rapidjson.cpp:3049:38: style: C-style pointer casting [cstyleCast] python-rapidjson-1.4/rapidjson.cpp:3176:38: style: C-style pointer casting [cstyleCast] python-rapidjson-1.4/rapidjson.cpp:3470:38: style: C-style pointer casting [cstyleCast] python-rapidjson-1.4/rapidjson.cpp:3476:25: style: C-style pointer casting [cstyleCast] python-rapidjson-1.4/rapidjson.cpp:3552:38: style: C-style pointer casting [cstyleCast] python-rapidjson-1.4/rapidjson.cpp:3596:10: style: C-style pointer casting [cstyleCast] python-rapidjson-1.4/rapidjson.cpp:3710:34: style: C-style pointer casting [cstyleCast] python-rapidjson-1.4/rapidjson.cpp:3743:27: style: C-style pointer casting [cstyleCast] python-rapidjson-1.4/rapidjson.cpp:3783:27: style: C-style pointer casting [cstyleCast] python-rapidjson-1.4/rapidjson.cpp:3996:42: style: C-style pointer casting [cstyleCast] python-rapidjson-1.4/rapidjson.cpp:4002:42: style: C-style pointer casting [cstyleCast] python-rapidjson-1.4/rapidjson.cpp:4008:44: style: C-style pointer casting [cstyleCast] python-rapidjson-1.4/rapidjson.cpp:4014:42: style: C-style pointer casting [cstyleCast] python-rapidjson-1.4/rapidjson.cpp:3465:12: style: The scope of the variable 'chunkSize' can be reduced. [variableScope] python-rapidjson-1.4/rapidjson.cpp:2019:62: style:inconclusive: Function 'do_decode' argument 3 names different: declaration 'jsonStrlen' definition 'jsonStrLen'. [funcArgNamesDifferent] python-rapidjson-1.4/rapidjson.cpp:202:60: note: Function 'do_decode' argument 3 names different: declaration 'jsonStrlen' definition 'jsonStrLen'. python-rapidjson-1.4/rapidjson.cpp:2019:62: note: Function 'do_decode' argument 3 names different: declaration 'jsonStrlen' definition 'jsonStrLen'. python-rapidjson-1.4/rapidjson.cpp:3726:19: style: Local variable 'error' shadows outer variable [shadowVariable] python-rapidjson-1.4/rapidjson.cpp:3699:10: note: Shadowed declaration python-rapidjson-1.4/rapidjson.cpp:3726:19: note: Shadow variable python-rapidjson-1.4/rapidjson.cpp:290:23: style: Parameter 'begin' can be declared as pointer to const [constParameterPointer] python-rapidjson-1.4/rapidjson.cpp:424:23: style: Parameter 'begin' can be declared as pointer to const [constParameterPointer] python-rapidjson-1.4/rapidjson.cpp:2144:20: style: Variable 'd' can be declared as pointer to const [constVariablePointer] python-rapidjson-1.4/rapidjson.cpp:3288:46: style: Parameter 'e' can be declared as pointer to const. However it seems that 'encoder_get_skip_invalid_keys' is a callback function, if 'e' is declared with const you might also need to cast function pointer(s). [constParameterCallback] python-rapidjson-1.4/rapidjson.cpp:3302:36: note: You might need to cast the function pointer here python-rapidjson-1.4/rapidjson.cpp:3288:46: note: Parameter 'e' can be declared as pointer to const python-rapidjson-1.4/rapidjson.cpp:3288:55: style: Parameter 'closure' can be declared as pointer to const. However it seems that 'encoder_get_skip_invalid_keys' is a callback function, if 'closure' is declared with const you might also need to cast function pointer(s). [constParameterCallback] python-rapidjson-1.4/rapidjson.cpp:3302:36: note: You might need to cast the function pointer here python-rapidjson-1.4/rapidjson.cpp:3288:55: note: Parameter 'closure' can be declared as pointer to const python-rapidjson-1.4/rapidjson.cpp:3294:38: style: Parameter 'e' can be declared as pointer to const. However it seems that 'encoder_get_sort_keys' is a callback function, if 'e' is declared with const you might also need to cast function pointer(s). [constParameterCallback] python-rapidjson-1.4/rapidjson.cpp:3304:28: note: You might need to cast the function pointer here python-rapidjson-1.4/rapidjson.cpp:3294:38: note: Parameter 'e' can be declared as pointer to const python-rapidjson-1.4/rapidjson.cpp:3294:47: style: Parameter 'closure' can be declared as pointer to const. However it seems that 'encoder_get_sort_keys' is a callback function, if 'closure' is declared with const you might also need to cast function pointer(s). [constParameterCallback] python-rapidjson-1.4/rapidjson.cpp:3304:28: note: You might need to cast the function pointer here python-rapidjson-1.4/rapidjson.cpp:3294:47: note: Parameter 'closure' can be declared as pointer to const python-rapidjson-1.4/rapidjson.cpp:3476:20: style: Variable 'e' can be declared as pointer to const [constVariablePointer] python-rapidjson-1.4/rapidjson.cpp:1106:25: error: Uninitialized variable: ctx.keyValuePairs [uninitvar] python-rapidjson-1.4/rapidjson.cpp:1106:25: error: Uninitialized struct member: ctx.keyValuePairs [uninitStructMember] diff: DONE