2026-05-04 08:00 ftp://ftp.de.debian.org/debian/pool/main/p/piperka-client/piperka-client_0.2.2.orig.tar.gz cppcheck-options: --library=posix --library=gnu --library=bsd --library=qt --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: 57 53 elapsed-time: 0.6 0.5 head-timing-info: old-timing-info: head results: piperka-client-0.2.2/generic/src/piperka-client.cpp:33:39: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AA_EnableHighDpiScaling [valueFlowBailoutIncompleteVar] piperka-client-0.2.2/src/application.h:48:17: style:inconclusive: Member variable 'Application::m_browse' uses an uninitialized argument 'm_sortManager' due to the order of declarations. [initializerList] piperka-client-0.2.2/src/application.cpp:29:7: note: Member variable 'Application::m_browse' uses an uninitialized argument 'm_sortManager' due to the order of declarations. piperka-client-0.2.2/src/application.h:48:17: note: Member variable 'Application::m_browse' uses an uninitialized argument 'm_sortManager' due to the order of declarations. piperka-client-0.2.2/src/application.h:49:18: style:inconclusive: Member variable 'Application::m_updates' uses an uninitialized argument 'm_sortManager' due to the order of declarations. [initializerList] piperka-client-0.2.2/src/application.cpp:30:7: note: Member variable 'Application::m_updates' uses an uninitialized argument 'm_sortManager' due to the order of declarations. piperka-client-0.2.2/src/application.h:49:18: note: Member variable 'Application::m_updates' uses an uninitialized argument 'm_sortManager' due to the order of declarations. piperka-client-0.2.2/src/user.h:51:19: style:inconclusive: Either there is a missing 'override', or the member function 'User::name' can be const. [functionConst] piperka-client-0.2.2/src/subscription.h:34:5: style: Class 'Subscription' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] piperka-client-0.2.2/src/comic.h:62:5: style: Class 'ComicModel' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] piperka-client-0.2.2/src/browse.h:34:5: style: Class 'BrowseModel' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] piperka-client-0.2.2/src/updates.h:39:5: style: Class 'UpdatesModel' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] piperka-client-0.2.2/src/recommend.h:30:5: style: Class 'RecommendModel' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] piperka-client-0.2.2/src/comic.h:35:13: performance: Function 'title()' should return member 'mTitle' by const reference. [returnByReference] piperka-client-0.2.2/src/user.h:51:19: performance: Function 'name()' should return member 'm_name' by const reference. [returnByReference] piperka-client-0.2.2/src/user.h:54:13: performance: Function 'storedLoginName()' should return member 'm_storedLoginName' by const reference. [returnByReference] piperka-client-0.2.2/src/user.h:55:13: performance: Function 'storedCreateEmail()' should return member 'm_storedCreateEmail' by const reference. [returnByReference] piperka-client-0.2.2/src/user.h:56:13: performance: Function 'storedCreatePassword()' should return member 'm_storedCreatePassword' by const reference. [returnByReference] piperka-client-0.2.2/src/user.h:57:13: performance: Function 'networkErrorMessage()' should return member 'm_networkErrorMessage' by const reference. [returnByReference] piperka-client-0.2.2/src/page.h:88:13: performance: Function 'homepage()' should return member 'm_homepage' by const reference. [returnByReference] piperka-client-0.2.2/src/browse.cpp:68:43: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable invalidate [valueFlowBailoutIncompleteVar] piperka-client-0.2.2/src/comic.cpp:92:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SubscribedRole [valueFlowBailoutIncompleteVar] piperka-client-0.2.2/src/comic.cpp:140:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SubscribedRole [valueFlowBailoutIncompleteVar] piperka-client-0.2.2/src/download.cpp:76:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable UserAgentHeader [valueFlowBailoutIncompleteVar] piperka-client-0.2.2/src/download.cpp:94:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable UserAgentHeader [valueFlowBailoutIncompleteVar] piperka-client-0.2.2/src/download.cpp:114:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable UserAgentHeader [valueFlowBailoutIncompleteVar] piperka-client-0.2.2/src/download.cpp:128:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable UserAgentHeader [valueFlowBailoutIncompleteVar] piperka-client-0.2.2/src/download.cpp:141:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable UserAgentHeader [valueFlowBailoutIncompleteVar] piperka-client-0.2.2/src/download.cpp:152:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable UserAgentHeader [valueFlowBailoutIncompleteVar] piperka-client-0.2.2/src/download.cpp:170:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable UserAgentHeader [valueFlowBailoutIncompleteVar] piperka-client-0.2.2/src/download.cpp:188:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable UserAgentHeader [valueFlowBailoutIncompleteVar] piperka-client-0.2.2/src/download.cpp:206:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable UserAgentHeader [valueFlowBailoutIncompleteVar] piperka-client-0.2.2/src/download.cpp:243:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable UserAgentHeader [valueFlowBailoutIncompleteVar] piperka-client-0.2.2/src/download.cpp:266:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable UserAgentHeader [valueFlowBailoutIncompleteVar] piperka-client-0.2.2/src/download.cpp:224:74: style: Consider using std::find_if algorithm instead of a raw loop. [useStlAlgorithm] piperka-client-0.2.2/src/page.cpp:264:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SubscribedRole [valueFlowBailoutIncompleteVar] piperka-client-0.2.2/src/page.cpp:303:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable CursorRole [valueFlowBailoutIncompleteVar] piperka-client-0.2.2/src/page.cpp:125:9: style: Local variable 'cid' shadows outer function [shadowFunction] piperka-client-0.2.2/src/page.h:80:21: note: Shadowed declaration piperka-client-0.2.2/src/page.cpp:125:9: note: Shadow variable piperka-client-0.2.2/src/page.cpp:234:19: style: Variable 'subs' can be declared as pointer to const [constVariablePointer] piperka-client-0.2.2/src/page.cpp:254:19: style: Variable 'subs' can be declared as pointer to const [constVariablePointer] piperka-client-0.2.2/src/passwordvalidator.cpp:32:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Invalid [valueFlowBailoutIncompleteVar] piperka-client-0.2.2/src/passwordvalidator.cpp:28:56: style:inconclusive: Function 'validate' argument 1 names different: declaration '' definition 'input'. [funcArgNamesDifferentUnnamed] piperka-client-0.2.2/src/passwordvalidator.cpp:28:68: style:inconclusive: Function 'validate' argument 2 names different: declaration '' definition 'pos'. [funcArgNamesDifferentUnnamed] piperka-client-0.2.2/src/subscription.cpp:39:5: style: Variable 'm_cid' is assigned an expression that holds the same value. [redundantAssignment] piperka-client-0.2.2/src/subscription.cpp:35:13: note: Assuming that condition 'cid!=m_cid' is not redundant piperka-client-0.2.2/src/subscription.cpp:39:5: note: Variable 'm_cid' is assigned an expression that holds the same value. piperka-client-0.2.2/src/subscription.cpp:22:46: style:inconclusive: Function 'Subscription' argument 1 names different: declaration '' definition 'arr'. [funcArgNamesDifferentUnnamed] piperka-client-0.2.2/src/subscription.cpp:32:45: style:inconclusive: Function 'update' argument 1 names different: declaration '' definition 'arr'. [funcArgNamesDifferentUnnamed] piperka-client-0.2.2/src/subscription.cpp:34:9: style: Local variable 'cid' shadows outer function [shadowFunction] piperka-client-0.2.2/src/subscription.h:38:9: note: Shadowed declaration piperka-client-0.2.2/src/subscription.cpp:34:9: note: Shadow variable piperka-client-0.2.2/src/updates.cpp:78:25: style: Obsolescent function 'index' called. It is recommended to use 'strchr' instead. [prohibitedindexCalled] piperka-client-0.2.2/src/updates.cpp:86:33: style: Obsolescent function 'index' called. It is recommended to use 'strchr' instead. [prohibitedindexCalled] piperka-client-0.2.2/src/updates.cpp:78:31: error: Null pointer dereference [nullPointer] piperka-client-0.2.2/src/user.cpp:95:46: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable NoError [valueFlowBailoutIncompleteVar] piperka-client-0.2.2/src/user.cpp:168:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] piperka-client-0.2.2/src/user.cpp:185:50: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable NoError [valueFlowBailoutIncompleteVar] piperka-client-0.2.2/src/user.cpp:219:50: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable NoError [valueFlowBailoutIncompleteVar] piperka-client-0.2.2/src/user.cpp:371:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] piperka-client-0.2.2/src/user.cpp:445:46: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable NoError [valueFlowBailoutIncompleteVar] piperka-client-0.2.2/src/user.cpp:528:50: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ContentOperationNotPermittedError [valueFlowBailoutIncompleteVar] piperka-client-0.2.2/src/user.cpp:42:13: style: Local variable 'name' shadows outer function [shadowFunction] piperka-client-0.2.2/src/user.h:51:19: note: Shadowed declaration piperka-client-0.2.2/src/user.cpp:42:13: note: Shadow variable piperka-client-0.2.2/src/user.cpp:352:13: style: Local variable 'name' shadows outer function [shadowFunction] piperka-client-0.2.2/src/user.h:51:19: note: Shadowed declaration piperka-client-0.2.2/src/user.cpp:352:13: note: Shadow variable piperka-client-0.2.2/src/user.cpp:202:27: style: Variable 'subs' can be declared as pointer to const [constVariablePointer] piperka-client-0.2.2/src/user.cpp:413:27: style: Variable 's' can be declared as pointer to const [constVariablePointer] diff: head piperka-client-0.2.2/src/passwordvalidator.cpp:28:56: style:inconclusive: Function 'validate' argument 1 names different: declaration '' definition 'input'. [funcArgNamesDifferentUnnamed] head piperka-client-0.2.2/src/passwordvalidator.cpp:28:68: style:inconclusive: Function 'validate' argument 2 names different: declaration '' definition 'pos'. [funcArgNamesDifferentUnnamed] head piperka-client-0.2.2/src/subscription.cpp:22:46: style:inconclusive: Function 'Subscription' argument 1 names different: declaration '' definition 'arr'. [funcArgNamesDifferentUnnamed] head piperka-client-0.2.2/src/subscription.cpp:32:45: style:inconclusive: Function 'update' argument 1 names different: declaration '' definition 'arr'. [funcArgNamesDifferentUnnamed] DONE