2025-11-23 07:26 ftp://ftp.de.debian.org/debian/pool/main/p/pgqd/pgqd_3.5.orig.tar.gz cppcheck-options: --library=posix --library=gnu --library=bsd --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 -j4 platform: Linux-6.12.57+deb13-amd64-x86_64-with-glibc2.41 python: 3.13.5 client-version: 1.3.67 compiler: g++ (Debian 14.2.0-19) 14.2.0 cppcheck: head 2.18.0 head-info: cb76e52 (2025-11-22 14:47:37 +0100) count: 79 86 elapsed-time: 0.1 0.3 head-timing-info: old-timing-info: head results: pgqd-3.5/lib/usual/base.c:61:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] pgqd-3.5/lib/usual/cxalloc.c:33:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable USUAL_ALLOC [valueFlowBailoutIncompleteVar] pgqd-3.5/lib/usual/cxalloc.c:40:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable USUAL_ALLOC [valueFlowBailoutIncompleteVar] pgqd-3.5/lib/usual/cxalloc.c:53:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable USUAL_ALLOC [valueFlowBailoutIncompleteVar] pgqd-3.5/lib/usual/err.c:32:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] pgqd-3.5/lib/usual/err.c:49:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] pgqd-3.5/lib/usual/err.c:65:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] pgqd-3.5/lib/usual/err.c:82:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] pgqd-3.5/lib/usual/daemon.c:69:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDONLY [valueFlowBailoutIncompleteVar] pgqd-3.5/lib/usual/daemon.c:105:6: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] pgqd-3.5/lib/usual/daemon.c:117:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_WRONLY [valueFlowBailoutIncompleteVar] pgqd-3.5/lib/usual/daemon.c:181:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable cf_logfile [valueFlowBailoutIncompleteVar] pgqd-3.5/lib/usual/cxalloc.c:146:31: style: Parameter 'ctx' can be declared as pointer to const. However it seems that 'libc_alloc' is a callback function, if 'ctx' is declared with const you might also need to cast function pointer(s). [constParameterCallback] pgqd-3.5/lib/usual/cxalloc.c:162:2: note: You might need to cast the function pointer here pgqd-3.5/lib/usual/cxalloc.c:146:31: note: Parameter 'ctx' can be declared as pointer to const pgqd-3.5/lib/usual/fileutil.c:47:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] pgqd-3.5/lib/usual/daemon.c:139:14: warning: Either the condition 'fd<0' is redundant or write() argument nr 1 can have invalid value. The value is -1 but the valid values are '0:'. [invalidFunctionArg] pgqd-3.5/lib/usual/daemon.c:135:9: note: Assuming that condition 'fd<0' is not redundant pgqd-3.5/lib/usual/daemon.c:139:14: note: Invalid argument pgqd-3.5/lib/usual/daemon.c:188:7: warning: Either the condition 'fd<0' is redundant or dup2() argument nr 1 can have invalid value. The value is -1 but the valid values are '0:'. [invalidFunctionArg] pgqd-3.5/lib/usual/daemon.c:186:9: note: Assuming that condition 'fd<0' is not redundant pgqd-3.5/lib/usual/daemon.c:188:7: note: Invalid argument pgqd-3.5/lib/usual/daemon.c:189:7: warning: Either the condition 'fd<0' is redundant or dup2() argument nr 1 can have invalid value. The value is -1 but the valid values are '0:'. [invalidFunctionArg] pgqd-3.5/lib/usual/daemon.c:186:9: note: Assuming that condition 'fd<0' is not redundant pgqd-3.5/lib/usual/daemon.c:189:7: note: Invalid argument pgqd-3.5/lib/usual/daemon.c:190:7: warning: Either the condition 'fd<0' is redundant or dup2() argument nr 1 can have invalid value. The value is -1 but the valid values are '0:'. [invalidFunctionArg] pgqd-3.5/lib/usual/daemon.c:186:9: note: Assuming that condition 'fd<0' is not redundant pgqd-3.5/lib/usual/daemon.c:190:7: note: Invalid argument pgqd-3.5/lib/usual/fileutil.c:61:43: style: Condition '(res=fread(buf,1,st.st_size,f))<0' is always false [knownConditionTrueFalse] pgqd-3.5/lib/usual/cfparser.c:57:60: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] pgqd-3.5/lib/usual/cfparser.c:200:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable CF_VAL_REL [valueFlowBailoutIncompleteVar] pgqd-3.5/lib/usual/cfparser.c:301:35: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable CF_READONLY [valueFlowBailoutIncompleteVar] pgqd-3.5/lib/usual/cfparser.c:354:36: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable CF_READONLY [valueFlowBailoutIncompleteVar] pgqd-3.5/lib/usual/cfparser.c:411:2: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] pgqd-3.5/lib/usual/cfparser.c:429:2: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] pgqd-3.5/lib/usual/cfparser.c:520:2: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] pgqd-3.5/lib/usual/cfparser.c:586:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable USEC [valueFlowBailoutIncompleteVar] pgqd-3.5/lib/usual/signal.c:100:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SIG_ERR [valueFlowBailoutIncompleteVar] pgqd-3.5/lib/usual/logging.c:126:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOG_DAEMON [valueFlowBailoutIncompleteVar] pgqd-3.5/lib/usual/logging.c:161:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] pgqd-3.5/lib/usual/logging.c:255:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] pgqd-3.5/lib/usual/string.c:303:0: error: failed to evaluate #if condition, undefined function-like macro invocation: __has_attribute( ... ) [syntaxError] pgqd-3.5/lib/usual/time.c:34:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable USEC [valueFlowBailoutIncompleteVar] pgqd-3.5/lib/usual/time.c:57:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable USEC [valueFlowBailoutIncompleteVar] pgqd-3.5/lib/usual/time.c:73:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable USEC [valueFlowBailoutIncompleteVar] pgqd-3.5/lib/usual/time.c:27:13: style: Variable 'tm' can be declared as pointer to const [constVariablePointer] pgqd-3.5/lib/usual/time.c:51:19: style: Variable 'tm' can be declared as pointer to const [constVariablePointer] pgqd-3.5/lib/usual/cfparser.c:479:8: portability: Non reentrant function 'getpwnam' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getpwnam_r'. [prohibitedgetpwnamCalled] pgqd-3.5/lib/usual/cfparser.c:487:9: portability: Non reentrant function 'getpwuid' called. For threadsafe applications it is recommended to use the reentrant replacement function 'getpwuid_r'. [prohibitedgetpwuidCalled] pgqd-3.5/lib/usual/pgutil.c:72:8: style: Variable 'end' can be declared as pointer to const [constVariablePointer] pgqd-3.5/lib/usual/cfparser.c:405:33: style: Parameter 'cv' can be declared as pointer to const [constParameterPointer] pgqd-3.5/lib/usual/cfparser.c:423:34: style: Parameter 'cv' can be declared as pointer to const [constParameterPointer] pgqd-3.5/lib/usual/cfparser.c:441:33: style: Parameter 'cv' can be declared as pointer to const [constParameterPointer] pgqd-3.5/lib/usual/cfparser.c:458:14: style: Variable 'home' can be declared as pointer to const [constVariablePointer] pgqd-3.5/lib/usual/cfparser.c:460:17: style: Variable 'pw' can be declared as pointer to const [constVariablePointer] pgqd-3.5/lib/usual/cfparser.c:531:39: style: Parameter 'cv' can be declared as pointer to const [constParameterPointer] pgqd-3.5/lib/usual/cfparser.c:541:41: style: Parameter 'cv' can be declared as pointer to const [constParameterPointer] pgqd-3.5/lib/usual/cfparser.c:555:40: style: Parameter 'cv' can be declared as pointer to const [constParameterPointer] pgqd-3.5/lib/usual/cfparser.c:563:7: style: Variable 'p' can be declared as pointer to const [constVariablePointer] pgqd-3.5/lib/usual/cfparser.c:570:16: style: Variable 'p' can be declared as pointer to const [constVariablePointer] pgqd-3.5/lib/usual/cfparser.c:577:10: style: Variable 'p' can be declared as pointer to const [constVariablePointer] pgqd-3.5/lib/usual/cfparser.c:582:46: style: Parameter 'cv' can be declared as pointer to const [constParameterPointer] pgqd-3.5/lib/usual/cfparser.c:585:10: style: Variable 'p' can be declared as pointer to const [constVariablePointer] pgqd-3.5/lib/usual/cfparser.c:595:43: style: Parameter 'cv' can be declared as pointer to const [constParameterPointer] pgqd-3.5/lib/usual/cfparser.c:597:7: style: Variable 'p' can be declared as pointer to const [constVariablePointer] pgqd-3.5/lib/usual/cfparser.c:606:36: style: Parameter 'cv' can be declared as pointer to const [constParameterPointer] pgqd-3.5/src/pgqd.c:32:31: error: syntax error [syntaxError] pgqd-3.5/src/maint.c:183:36: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable USUAL_ALLOC [valueFlowBailoutIncompleteVar] pgqd-3.5/src/maint.c:256:30: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PGRES_TUPLES_OK [valueFlowBailoutIncompleteVar] pgqd-3.5/src/maint.c:341:43: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] pgqd-3.5/src/retry.c:41:30: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PGRES_TUPLES_OK [valueFlowBailoutIncompleteVar] pgqd-3.5/src/retry.c:66:43: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] pgqd-3.5/src/retry.c:21:9: style: Variable 'val' can be declared as pointer to const [constVariablePointer] pgqd-3.5/src/pgsocket.c:86:43: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] pgqd-3.5/src/pgsocket.c:278:27: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable CONNECTION_BAD [valueFlowBailoutIncompleteVar] pgqd-3.5/src/pgsocket.c:331:39: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable USEC [valueFlowBailoutIncompleteVar] pgqd-3.5/src/pgsocket.c:409:27: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable CONNECTION_OK [valueFlowBailoutIncompleteVar] pgqd-3.5/src/ticker.c:94:30: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PGRES_TUPLES_OK [valueFlowBailoutIncompleteVar] pgqd-3.5/src/ticker.c:140:43: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] pgqd-3.5/src/pgsocket.c:236:74: style:inconclusive: Function 'pgs_create' argument 3 names different: declaration 'arg' definition 'handler_arg'. [funcArgNamesDifferent] pgqd-3.5/src/pgsocket.h:58:74: note: Function 'pgs_create' argument 3 names different: declaration 'arg' definition 'handler_arg'. pgqd-3.5/src/pgsocket.c:236:74: note: Function 'pgs_create' argument 3 names different: declaration 'arg' definition 'handler_arg'. pgqd-3.5/src/pgsocket.c:347:61: style:inconclusive: Function 'pgs_send_query_simple' argument 2 names different: declaration 'query' definition 'q'. [funcArgNamesDifferent] pgqd-3.5/src/pgsocket.h:73:61: note: Function 'pgs_send_query_simple' argument 2 names different: declaration 'query' definition 'q'. pgqd-3.5/src/pgsocket.c:347:61: note: Function 'pgs_send_query_simple' argument 2 names different: declaration 'query' definition 'q'. pgqd-3.5/src/pgsocket.c:361:61: style:inconclusive: Function 'pgs_send_query_params' argument 2 names different: declaration 'query' definition 'q'. [funcArgNamesDifferent] pgqd-3.5/src/pgsocket.h:76:61: note: Function 'pgs_send_query_params' argument 2 names different: declaration 'query' definition 'q'. pgqd-3.5/src/pgsocket.c:361:61: note: Function 'pgs_send_query_params' argument 2 names different: declaration 'query' definition 'q'. pgqd-3.5/src/pgsocket.c:361:68: style:inconclusive: Function 'pgs_send_query_params' argument 3 names different: declaration 'nargs' definition 'cnt'. [funcArgNamesDifferent] pgqd-3.5/src/pgsocket.h:76:72: note: Function 'pgs_send_query_params' argument 3 names different: declaration 'nargs' definition 'cnt'. pgqd-3.5/src/pgsocket.c:361:68: note: Function 'pgs_send_query_params' argument 3 names different: declaration 'nargs' definition 'cnt'. pgqd-3.5/src/pgsocket.c:381:66: style:inconclusive: Function 'pgs_send_query_params_list' argument 2 names different: declaration 'query' definition 'q'. [funcArgNamesDifferent] pgqd-3.5/src/pgsocket.h:79:66: note: Function 'pgs_send_query_params_list' argument 2 names different: declaration 'query' definition 'q'. pgqd-3.5/src/pgsocket.c:381:66: note: Function 'pgs_send_query_params_list' argument 2 names different: declaration 'query' definition 'q'. pgqd-3.5/src/pgsocket.c:381:73: style:inconclusive: Function 'pgs_send_query_params_list' argument 3 names different: declaration 'nargs' definition 'cnt'. [funcArgNamesDifferent] pgqd-3.5/src/pgsocket.h:79:77: note: Function 'pgs_send_query_params_list' argument 3 names different: declaration 'nargs' definition 'cnt'. pgqd-3.5/src/pgsocket.c:381:73: note: Function 'pgs_send_query_params_list' argument 3 names different: declaration 'nargs' definition 'cnt'. pgqd-3.5/src/pgsocket.c:381:90: style:inconclusive: Function 'pgs_send_query_params_list' argument 4 names different: declaration 'argv' definition 'args'. [funcArgNamesDifferent] pgqd-3.5/src/pgsocket.h:79:96: note: Function 'pgs_send_query_params_list' argument 4 names different: declaration 'argv' definition 'args'. pgqd-3.5/src/pgsocket.c:381:90: note: Function 'pgs_send_query_params_list' argument 4 names different: declaration 'argv' definition 'args'. pgqd-3.5/src/pgsocket.c:227:42: style: Parameter 'arg' can be declared as pointer to const. However it seems that 'custom_notice_receiver' is a callback function, if 'arg' is declared with const you might also need to cast function pointer(s). [constParameterCallback] pgqd-3.5/src/pgsocket.c:283:31: note: You might need to cast the function pointer here pgqd-3.5/src/pgsocket.c:227:42: note: Parameter 'arg' can be declared as pointer to const pgqd-3.5/src/pgsocket.c:395:43: style: Parameter 'db' can be declared as pointer to const [constParameterPointer] pgqd-3.5/src/pgsocket.c:400:45: style: Parameter 'db' can be declared as pointer to const [constParameterPointer] diff: 2.18.0 pgqd-3.5/lib/usual/string.c:185:2: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] head pgqd-3.5/lib/usual/string.c:303:0: error: failed to evaluate #if condition, undefined function-like macro invocation: __has_attribute( ... ) [syntaxError] 2.18.0 pgqd-3.5/lib/usual/string.c:308:44: style: Parameter 'buf' can be declared as pointer to const. However it seems that '__explicit_bzero_hack_cb' is a callback function, if 'buf' is declared with const you might also need to cast function pointer(s). [constParameterCallback] pgqd-3.5/lib/usual/string.c:309:63: note: You might need to cast the function pointer here pgqd-3.5/lib/usual/string.c:308:44: note: Parameter 'buf' can be declared as pointer to const 2.18.0 pgqd-3.5/lib/usual/string.c:379:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] 2.18.0 pgqd-3.5/lib/usual/string.c:481:20: style: Variable 'end' can be declared as pointer to const [constVariablePointer] 2.18.0 pgqd-3.5/lib/usual/string.c:489:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable decimal_point [valueFlowBailoutIncompleteVar] 2.18.0 pgqd-3.5/lib/usual/string.c:539:7: style: Condition 'dot' is always true [knownConditionTrueFalse] 2.18.0 pgqd-3.5/lib/usual/string.c:561:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable decimal_point [valueFlowBailoutIncompleteVar] 2.18.0 pgqd-3.5/lib/usual/string.c:584:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] DONE