2025-06-13 00:39 ftp://ftp.de.debian.org/debian/pool/main/m/merecat/merecat_2.31+git20220513+ds.orig.tar.xz cppcheck-options: --library=posix --library=gnu --library=bsd --library=zlib --library=bsd --library=openssl --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 -j10 platform: Linux-6.8.12-9-pve-x86_64-with-glibc2.39 python: 3.12.3 client-version: 1.3.67 compiler: g++ (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0 cppcheck: head 2.17.0 head-info: 1015d71 (2025-06-12 18:50:15 +0200) count: 203 202 elapsed-time: 1.2 1.2 head-timing-info: old-timing-info: head results: merecat-2.31+git20220513+ds/lib/lstat.c:33:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AT_FDCWD [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/lib/realloc.c:24:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/lib/tempfile.c:27:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable _PATH_TMP [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/src/fdwatch.c:234:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOG_ERR [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/src/file.c:43:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/src/fdwatch.c:248:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOG_ERR [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/src/file.c:73:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/src/fdwatch.c:275:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOG_ERR [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/src/fdwatch.c:302:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOG_INFO [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/src/file.c:63:34: style: Parameter 'buf' can be declared as pointer to const [constParameterPointer] merecat-2.31+git20220513+ds/src/conf.c:56:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOG_ERR [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/src/htpasswd.c:100:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IXON [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/src/conf.c:81:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOG_WARNING [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/src/htpasswd.c:139:34: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdin [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/src/ssl.c:418:9: error: syntax error [syntaxError] merecat-2.31+git20220513+ds/src/conf.c:99:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOG_WARNING [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/src/htpasswd.c:194:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable BUFSIZ [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/src/conf.c:148:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOG_ERR [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/src/htpasswd.c:213:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/src/conf.c:214:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable CFGF_NONE [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/src/htpasswd.c:221:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/src/htpasswd.c:242:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/src/pidfile.c:85:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/src/merecat.c:1293:52: error: There is an unknown macro here somewhere. Configuration is required. If RUNDIR is a macro then please configure it. [unknownMacro] merecat-2.31+git20220513+ds/src/srv.c:127:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AF_INET [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/src/srv.c:164:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOG_DEBUG [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/src/mmc.c:227:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOG_ERR [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/src/mmc.c:372:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOG_ERR [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/src/mmc.c:435:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOG_ERR [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/src/mmc.c:458:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOG_ERR [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/src/mmc.c:608:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOG_INFO [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/src/conf.c:45:33: style: Parameter 'cfg' can be declared as pointer to const. However it seems that 'conf_errfunc' is a callback function, if 'cfg' is declared with const you might also need to cast function pointer(s). [constParameterCallback] merecat-2.31+git20220513+ds/src/conf.c:286:30: note: You might need to cast the function pointer here merecat-2.31+git20220513+ds/src/conf.c:45:33: note: Parameter 'cfg' can be declared as pointer to const merecat-2.31+git20220513+ds/src/conf.c:139:9: style: Variable 'ssl' can be declared as pointer to const [constVariablePointer] merecat-2.31+git20220513+ds/src/timers.c:362:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOG_INFO [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/www/cgi-bin/ssi.c:121:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/www/cgi-bin/ssi.c:126:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOG_NOTICE [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/www/cgi-bin/ssi.c:134:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOG_NOTICE [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/www/cgi-bin/ssi.c:142:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOG_NOTICE [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/www/cgi-bin/ssi.c:150:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOG_NOTICE [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/www/cgi-bin/ssi.c:159:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOG_NOTICE [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/www/cgi-bin/ssi.c:309:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/www/cgi-bin/ssi.c:418:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/www/cgi-bin/ssi.c:578:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/www/cgi-bin/ssi.c:613:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/www/cgi-bin/ssi.c:673:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOG_NOTICE [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/src/htpasswd.c:132:13: portability: Non reentrant function 'crypt' called. For threadsafe applications it is recommended to use the reentrant replacement function 'crypt_r'. [prohibitedcryptCalled] merecat-2.31+git20220513+ds/src/htpasswd.c:172:8: portability: Non reentrant function 'crypt' called. For threadsafe applications it is recommended to use the reentrant replacement function 'crypt_r'. [prohibitedcryptCalled] merecat-2.31+git20220513+ds/src/htpasswd.c:296:3: error: Resource handle 'tfd' freed twice. [doubleFree] merecat-2.31+git20220513+ds/src/htpasswd.c:293:8: note: Resource handle 'tfd' freed twice. merecat-2.31+git20220513+ds/src/htpasswd.c:296:3: note: Resource handle 'tfd' freed twice. merecat-2.31+git20220513+ds/src/srv.c:133:9: style: Obsolescent function 'gethostbyname' called. It is recommended to use 'getaddrinfo' instead. [prohibitedgethostbynameCalled] merecat-2.31+git20220513+ds/src/htpasswd.c:121:32: style: Parameter 'user' can be declared as pointer to const [constParameterPointer] merecat-2.31+git20220513+ds/src/htpasswd.c:124:8: style: Variable 'pw' can be declared as pointer to const [constVariablePointer] merecat-2.31+git20220513+ds/src/srv.c:181:7: style: Condition '!ctx' is always true [knownConditionTrueFalse] merecat-2.31+git20220513+ds/src/srv.c:180:9: note: Assignment 'ctx=NULL', assigned value is 0 merecat-2.31+git20220513+ds/src/srv.c:181:7: note: Condition '!ctx' is always true merecat-2.31+git20220513+ds/src/htpasswd.c:125:8: style: Variable 'cpw' can be declared as pointer to const [constVariablePointer] merecat-2.31+git20220513+ds/src/htpasswd.c:179:36: style: Parameter 'template' can be declared as pointer to const [constParameterPointer] merecat-2.31+git20220513+ds/src/htpasswd.c:179:52: style: Parameter 'file' can be declared as pointer to const [constParameterPointer] merecat-2.31+git20220513+ds/src/srv.c:219:30: style: Parameter 'hs' can be declared as pointer to const [constParameterPointer] merecat-2.31+git20220513+ds/src/tdate_parse.c:201:6: warning:inconclusive: Width 400 given in format string (no. 2) is smaller than destination buffer 'str_mon[500]'. [invalidScanfFormatWidth_smaller] merecat-2.31+git20220513+ds/src/tdate_parse.c:212:11: warning:inconclusive: Width 400 given in format string (no. 2) is smaller than destination buffer 'str_mon[500]'. [invalidScanfFormatWidth_smaller] merecat-2.31+git20220513+ds/src/tdate_parse.c:223:11: warning:inconclusive: Width 400 given in format string (no. 5) is smaller than destination buffer 'str_mon[500]'. [invalidScanfFormatWidth_smaller] merecat-2.31+git20220513+ds/src/tdate_parse.c:234:11: warning:inconclusive: Width 400 given in format string (no. 5) is smaller than destination buffer 'str_mon[500]'. [invalidScanfFormatWidth_smaller] merecat-2.31+git20220513+ds/src/tdate_parse.c:245:11: warning:inconclusive: Width 400 given in format string (no. 1) is smaller than destination buffer 'str_wday[500]'. [invalidScanfFormatWidth_smaller] merecat-2.31+git20220513+ds/src/tdate_parse.c:245:11: warning:inconclusive: Width 400 given in format string (no. 3) is smaller than destination buffer 'str_mon[500]'. [invalidScanfFormatWidth_smaller] merecat-2.31+git20220513+ds/src/tdate_parse.c:258:11: warning:inconclusive: Width 400 given in format string (no. 1) is smaller than destination buffer 'str_wday[500]'. [invalidScanfFormatWidth_smaller] merecat-2.31+git20220513+ds/src/tdate_parse.c:258:11: warning:inconclusive: Width 400 given in format string (no. 3) is smaller than destination buffer 'str_mon[500]'. [invalidScanfFormatWidth_smaller] merecat-2.31+git20220513+ds/src/tdate_parse.c:271:11: warning:inconclusive: Width 400 given in format string (no. 1) is smaller than destination buffer 'str_wday[500]'. [invalidScanfFormatWidth_smaller] merecat-2.31+git20220513+ds/src/tdate_parse.c:271:11: warning:inconclusive: Width 400 given in format string (no. 2) is smaller than destination buffer 'str_mon[500]'. [invalidScanfFormatWidth_smaller] merecat-2.31+git20220513+ds/src/tdate_parse.c:193:3: style: 'continue' is redundant since it is the last statement in a loop. [redundantContinue] merecat-2.31+git20220513+ds/src/tdate_parse.c:62:7: style: Parameter 'v1' can be declared as pointer to const. However it seems that 'strlong_compare' is a callback function, if 'v1' is declared with const you might also need to cast function pointer(s). [constParameterCallback] merecat-2.31+git20220513+ds/src/tdate_parse.c:134:84: note: You might need to cast the function pointer here merecat-2.31+git20220513+ds/src/tdate_parse.c:62:7: note: Parameter 'v1' can be declared as pointer to const merecat-2.31+git20220513+ds/src/tdate_parse.c:63:7: style: Parameter 'v2' can be declared as pointer to const. However it seems that 'strlong_compare' is a callback function, if 'v2' is declared with const you might also need to cast function pointer(s). [constParameterCallback] merecat-2.31+git20220513+ds/src/tdate_parse.c:134:84: note: You might need to cast the function pointer here merecat-2.31+git20220513+ds/src/tdate_parse.c:63:7: note: Parameter 'v2' can be declared as pointer to const merecat-2.31+git20220513+ds/src/timers.c:297:51: style:inconclusive: Function 'tmr_reset' argument 2 names different: declaration 'timer' definition 't'. [funcArgNamesDifferent] merecat-2.31+git20220513+ds/src/timers.h:88:58: note: Function 'tmr_reset' argument 2 names different: declaration 'timer' definition 't'. merecat-2.31+git20220513+ds/src/timers.c:297:51: note: Function 'tmr_reset' argument 2 names different: declaration 'timer' definition 't'. merecat-2.31+git20220513+ds/src/tdate_parse.c:69:33: style: Parameter 'str' can be declared as pointer to const [constParameterPointer] merecat-2.31+git20220513+ds/src/timers.c:313:31: style:inconclusive: Function 'tmr_cancel' argument 1 names different: declaration 'timer' definition 't'. [funcArgNamesDifferent] merecat-2.31+git20220513+ds/src/timers.h:93:38: note: Function 'tmr_cancel' argument 1 names different: declaration 'timer' definition 't'. merecat-2.31+git20220513+ds/src/timers.c:313:31: note: Function 'tmr_cancel' argument 1 names different: declaration 'timer' definition 't'. merecat-2.31+git20220513+ds/src/tdate_parse.c:151:37: style: Parameter 'tmP' can be declared as pointer to const [constParameterPointer] merecat-2.31+git20220513+ds/src/tdate_parse.c:155:13: style: Variable 'monthtab' can be declared as const array [constVariable] merecat-2.31+git20220513+ds/src/timers.c:167:42: style: Parameter 'now' can be declared as pointer to const [constParameterPointer] merecat-2.31+git20220513+ds/src/timers.c:227:36: style: Parameter 'now' can be declared as pointer to const [constParameterPointer] merecat-2.31+git20220513+ds/src/timers.c:297:32: style: Parameter 'now' can be declared as pointer to const [constParameterPointer] merecat-2.31+git20220513+ds/src/mmc.c:256:20: style: Condition 'mmc_icon_open(filename,&buf,&sb)' is always true [knownConditionTrueFalse] merecat-2.31+git20220513+ds/src/mmc.c:256:20: note: Calling function 'mmc_icon_open' returns -1 merecat-2.31+git20220513+ds/src/mmc.c:256:20: note: Condition 'mmc_icon_open(filename,&buf,&sb)' is always true merecat-2.31+git20220513+ds/src/mmc.c:302:5: error: Resource leak: fd [resourceLeak] merecat-2.31+git20220513+ds/src/mmc.c:292:13: portability: Casting non-zero decimal integer literal to pointer. [intToPointerCast] merecat-2.31+git20220513+ds/src/mmc.c:215:44: style:inconclusive: Function 'mmc_map' argument 2 names different: declaration 'sbP' definition 'st'. [funcArgNamesDifferent] merecat-2.31+git20220513+ds/src/mmc.h:38:51: note: Function 'mmc_map' argument 2 names different: declaration 'sbP' definition 'st'. merecat-2.31+git20220513+ds/src/mmc.c:215:44: note: Function 'mmc_map' argument 2 names different: declaration 'sbP' definition 'st'. merecat-2.31+git20220513+ds/src/mmc.c:215:64: style:inconclusive: Function 'mmc_map' argument 3 names different: declaration 'nowP' definition 'tv'. [funcArgNamesDifferent] merecat-2.31+git20220513+ds/src/mmc.h:38:72: note: Function 'mmc_map' argument 3 names different: declaration 'nowP' definition 'tv'. merecat-2.31+git20220513+ds/src/mmc.c:215:64: note: Function 'mmc_map' argument 3 names different: declaration 'nowP' definition 'tv'. merecat-2.31+git20220513+ds/src/mmc.c:352:41: style:inconclusive: Function 'mmc_unmap' argument 2 names different: declaration 'sbP' definition 'st'. [funcArgNamesDifferent] merecat-2.31+git20220513+ds/src/mmc.h:44:48: note: Function 'mmc_unmap' argument 2 names different: declaration 'sbP' definition 'st'. merecat-2.31+git20220513+ds/src/mmc.c:352:41: note: Function 'mmc_unmap' argument 2 names different: declaration 'sbP' definition 'st'. merecat-2.31+git20220513+ds/src/mmc.c:352:61: style:inconclusive: Function 'mmc_unmap' argument 3 names different: declaration 'nowP' definition 'tv'. [funcArgNamesDifferent] merecat-2.31+git20220513+ds/src/mmc.h:44:69: note: Function 'mmc_unmap' argument 3 names different: declaration 'nowP' definition 'tv'. merecat-2.31+git20220513+ds/src/mmc.c:352:61: note: Function 'mmc_unmap' argument 3 names different: declaration 'nowP' definition 'tv'. merecat-2.31+git20220513+ds/src/mmc.c:388:34: style:inconclusive: Function 'mmc_cleanup' argument 1 names different: declaration 'nowP' definition 'tv'. [funcArgNamesDifferent] merecat-2.31+git20220513+ds/src/mmc.h:50:41: note: Function 'mmc_cleanup' argument 1 names different: declaration 'nowP' definition 'tv'. merecat-2.31+git20220513+ds/src/mmc.c:388:34: note: Function 'mmc_cleanup' argument 1 names different: declaration 'nowP' definition 'tv'. merecat-2.31+git20220513+ds/src/mmc.c:205:26: style: Parameter 'filename' can be declared as pointer to const [constParameterPointer] merecat-2.31+git20220513+ds/src/mmc.c:205:49: style: Parameter 'st' can be declared as pointer to const [constParameterPointer] merecat-2.31+git20220513+ds/src/mmc.c:209:34: style: Parameter 'filename' can be declared as pointer to const [constParameterPointer] merecat-2.31+git20220513+ds/src/mmc.c:209:69: style: Parameter 'st' can be declared as pointer to const [constParameterPointer] merecat-2.31+git20220513+ds/src/mmc.c:215:64: style: Parameter 'tv' can be declared as pointer to const [constParameterPointer] merecat-2.31+git20220513+ds/src/mmc.c:352:22: style: Parameter 'addr' can be declared as pointer to const [constParameterPointer] merecat-2.31+git20220513+ds/src/mmc.c:352:41: style: Parameter 'st' can be declared as pointer to const [constParameterPointer] merecat-2.31+git20220513+ds/src/mmc.c:352:61: style: Parameter 'tv' can be declared as pointer to const [constParameterPointer] merecat-2.31+git20220513+ds/src/mmc.c:388:34: style: Parameter 'tv' can be declared as pointer to const [constParameterPointer] merecat-2.31+git20220513+ds/src/mmc.c:433:14: style: Variable 'm' can be declared as pointer to const [constVariablePointer] merecat-2.31+git20220513+ds/www/cgi-bin/ssi.c:304:8: portability: Non reentrant function 'gmtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'gmtime_r'. [prohibitedgmtimeCalled] merecat-2.31+git20220513+ds/www/cgi-bin/ssi.c:306:8: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] merecat-2.31+git20220513+ds/www/cgi-bin/ssi.c:66:33: style: Parameter 'title' can be declared as pointer to const [constParameterPointer] merecat-2.31+git20220513+ds/www/cgi-bin/ssi.c:69:8: style: Variable 'srv' can be declared as pointer to const [constVariablePointer] merecat-2.31+git20220513+ds/www/cgi-bin/ssi.c:69:14: style: Variable 'host' can be declared as pointer to const [constVariablePointer] merecat-2.31+git20220513+ds/www/cgi-bin/ssi.c:69:21: style: Variable 'port' can be declared as pointer to const [constVariablePointer] merecat-2.31+git20220513+ds/www/cgi-bin/ssi.c:173:31: style: Parameter 'vfilename' can be declared as pointer to const [constParameterPointer] merecat-2.31+git20220513+ds/www/cgi-bin/ssi.c:300:13: style: Variable 'tm' can be declared as pointer to const [constVariablePointer] merecat-2.31+git20220513+ds/www/cgi-bin/ssi.c:406:27: style: Parameter 'vfilename' can be declared as pointer to const [constParameterPointer] merecat-2.31+git20220513+ds/www/cgi-bin/ssi.c:408:8: style: Variable 'cp' can be declared as pointer to const [constVariablePointer] merecat-2.31+git20220513+ds/www/cgi-bin/ssi.c:667:8: style: Variable 'script_name' can be declared as pointer to const [constVariablePointer] merecat-2.31+git20220513+ds/www/cgi-bin/ssi.c:670:8: style: Variable 'log_level' can be declared as pointer to const [constVariablePointer] merecat-2.31+git20220513+ds/www/cgi-bin/ssi.c:671:8: style: Variable 'ident' can be declared as pointer to const [constVariablePointer] merecat-2.31+git20220513+ds/src/libhttpd.c:221:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable F_SETFD [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/src/libhttpd.c:229:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable F_GETFL [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/src/libhttpd.c:246:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable F_GETFL [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/src/libhttpd.c:307:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOG_NOTICE [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/src/libhttpd.c:315:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/src/libhttpd.c:360:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/src/libhttpd.c:381:2: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable next [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/src/libhttpd.c:393:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/src/libhttpd.c:413:2: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable next [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/src/libhttpd.c:453:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOG_CRIT [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/src/libhttpd.c:551:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOG_CRIT [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/src/libhttpd.c:801:42: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PACKAGE [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/src/libhttpd.c:928:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOG_ERR [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/src/libhttpd.c:994:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PACKAGE [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/src/libhttpd.c:1620:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOG_DEBUG [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/src/libhttpd.c:1632:2: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable next [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/src/libhttpd.c:1654:2: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable next [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/src/libhttpd.c:1921:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOG_ERR [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/src/libhttpd.c:2129:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/src/libhttpd.c:2359:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/src/libhttpd.c:2764:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOG_ERR [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/src/libhttpd.c:3311:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOG_ERR [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/src/libhttpd.c:3320:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOG_ERR [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/src/libhttpd.c:3721:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOG_ERR [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/src/libhttpd.c:3764:49: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PACKAGE [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/src/libhttpd.c:3977:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/src/libhttpd.c:4260:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOG_ERR [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/src/libhttpd.c:4455:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOG_ERR [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/src/libhttpd.c:4549:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable S_IROTH [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/src/libhttpd.c:4606:7: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ENOENT [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/src/libhttpd.c:4891:38: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PRId64 [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/src/libhttpd.c:4912:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOG_INFO [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/src/libhttpd.c:5024:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PF_UNSPEC [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/src/libhttpd.c:5081:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable sockaddr_in [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/src/libhttpd.c:5141:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/src/libhttpd.c:5157:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/src/libhttpd.c:5171:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/src/libhttpd.c:5183:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOG_INFO [valueFlowBailoutIncompleteVar] merecat-2.31+git20220513+ds/src/libhttpd.c:790:48: portability: Non reentrant function 'gmtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'gmtime_r'. [prohibitedgmtimeCalled] merecat-2.31+git20220513+ds/src/libhttpd.c:791:48: portability: Non reentrant function 'gmtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'gmtime_r'. [prohibitedgmtimeCalled] merecat-2.31+git20220513+ds/src/libhttpd.c:4756:48: portability: Non reentrant function 'gmtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'gmtime_r'. [prohibitedgmtimeCalled] merecat-2.31+git20220513+ds/src/libhttpd.c:477:7: style: Condition '!hs->server_hostname' is always true [knownConditionTrueFalse] merecat-2.31+git20220513+ds/src/libhttpd.c:468:26: note: Assignment 'hs->server_hostname=NULL', assigned value is 0 merecat-2.31+git20220513+ds/src/libhttpd.c:477:7: note: Condition '!hs->server_hostname' is always true merecat-2.31+git20220513+ds/src/libhttpd.c:2662:13: style: Condition 'strchr(reqhost,'/')' is always true [knownConditionTrueFalse] merecat-2.31+git20220513+ds/src/libhttpd.c:1979:28: warning: If memory allocation fails, then there is a possible null pointer dereference: temp [nullPointerOutOfMemory] merecat-2.31+git20220513+ds/src/libhttpd.c:1969:15: note: Assuming allocation function fails merecat-2.31+git20220513+ds/src/libhttpd.c:1969:15: note: Assignment 'temp=strdup(hc->expnfilename)', assigned value is 0 merecat-2.31+git20220513+ds/src/libhttpd.c:1979:28: note: Null pointer dereference merecat-2.31+git20220513+ds/src/libhttpd.c:4544:11: warning: If memory allocation fails, then there is a possible null pointer dereference: fn [nullPointerOutOfMemory] merecat-2.31+git20220513+ds/src/libhttpd.c:4543:13: note: Assuming allocation function fails merecat-2.31+git20220513+ds/src/libhttpd.c:4543:13: note: Assignment 'fn=malloc(len)', assigned value is 0 merecat-2.31+git20220513+ds/src/libhttpd.c:4544:11: note: Null pointer dereference merecat-2.31+git20220513+ds/src/libhttpd.c:4547:12: warning:inconclusive: If memory allocation fails, then there is a possible null pointer dereference: fn [nullPointerOutOfMemory] merecat-2.31+git20220513+ds/src/libhttpd.c:4543:13: note: Assuming allocation function fails merecat-2.31+git20220513+ds/src/libhttpd.c:4543:13: note: Assignment 'fn=malloc(len)', assigned value is 0 merecat-2.31+git20220513+ds/src/libhttpd.c:4547:12: note: Null pointer dereference merecat-2.31+git20220513+ds/src/libhttpd.c:4374:6: style: Variable 'binary' is assigned an expression that holds the same value. [redundantAssignment] merecat-2.31+git20220513+ds/src/libhttpd.c:4372:9: note: ptr is assigned 'strstr(directory,"/./")' here. merecat-2.31+git20220513+ds/src/libhttpd.c:4374:6: note: Variable 'binary' is assigned an expression that holds the same value. merecat-2.31+git20220513+ds/src/libhttpd.c:3114:4: style: 'continue' is redundant since it is the last statement in a loop. [redundantContinue] merecat-2.31+git20220513+ds/src/libhttpd.c:3138:4: style: 'continue' is redundant since it is the last statement in a loop. [redundantContinue] merecat-2.31+git20220513+ds/src/libhttpd.c:3146:4: style: 'continue' is redundant since it is the last statement in a loop. [redundantContinue] merecat-2.31+git20220513+ds/src/libhttpd.c:4949:3: style: 'continue' is redundant since it is the last statement in a loop. [redundantContinue] merecat-2.31+git20220513+ds/src/libhttpd.c:3788:8: style: Local variable 'buf' shadows outer variable [shadowVariable] merecat-2.31+git20220513+ds/src/libhttpd.c:3757:7: note: Shadowed declaration merecat-2.31+git20220513+ds/src/libhttpd.c:3788:8: note: Shadow variable merecat-2.31+git20220513+ds/src/libhttpd.c:3893:8: style: Local variable 'cgi' shadows outer function [shadowFunction] merecat-2.31+git20220513+ds/src/libhttpd.c:192:12: note: Shadowed declaration merecat-2.31+git20220513+ds/src/libhttpd.c:3893:8: note: Shadow variable merecat-2.31+git20220513+ds/src/libhttpd.c:4534:8: style: Local variable 'match' shadows outer function [shadowFunction] merecat-2.31+git20220513+ds/src/match.h:34:12: note: Shadowed declaration merecat-2.31+git20220513+ds/src/libhttpd.c:4534:8: note: Shadow variable merecat-2.31+git20220513+ds/src/libhttpd.c:4750:10: style: Local variable 'now' shadows outer argument [shadowArgument] merecat-2.31+git20220513+ds/src/libhttpd.c:4590:63: note: Shadowed declaration merecat-2.31+git20220513+ds/src/libhttpd.c:4750:10: note: Shadow variable merecat-2.31+git20220513+ds/src/libhttpd.c:310:57: style: Parameter 'cgi_pattern' can be declared as pointer to const [constParameterPointer] merecat-2.31+git20220513+ds/src/libhttpd.c:441:32: style: Parameter 'hostname' can be declared as pointer to const [constParameterPointer] merecat-2.31+git20220513+ds/src/libhttpd.c:441:84: style: Parameter 'charset' can be declared as pointer to const [constParameterPointer] merecat-2.31+git20220513+ds/src/libhttpd.c:442:24: style: Parameter 'cwd' can be declared as pointer to const [constParameterPointer] merecat-2.31+git20220513+ds/src/libhttpd.c:443:41: style: Parameter 'url_pattern' can be declared as pointer to const [constParameterPointer] merecat-2.31+git20220513+ds/src/libhttpd.c:444:11: style: Parameter 'local_pattern' can be declared as pointer to const [constParameterPointer] merecat-2.31+git20220513+ds/src/libhttpd.c:754:51: style: Parameter 'title' can be declared as pointer to const [constParameterPointer] merecat-2.31+git20220513+ds/src/libhttpd.c:837:10: style: Variable 'ptr' can be declared as pointer to const [constVariablePointer] merecat-2.31+git20220513+ds/src/libhttpd.c:934:104: style: Parameter 'form' can be declared as pointer to const [constParameterPointer] merecat-2.31+git20220513+ds/src/libhttpd.c:1088:103: style: Parameter 'filename' can be declared as pointer to const [constParameterPointer] merecat-2.31+git20220513+ds/src/libhttpd.c:1662:10: style: Variable 'ptr' can be declared as pointer to const [constVariablePointer] merecat-2.31+git20220513+ds/src/libhttpd.c:1880:34: style: Parameter 'path' can be declared as pointer to const [constParameterPointer] merecat-2.31+git20220513+ds/src/libhttpd.c:2004:8: style: Variable 'cp1' can be declared as pointer to const [constVariablePointer] merecat-2.31+git20220513+ds/src/libhttpd.c:2351:8: style: Variable 'address' can be declared as pointer to const [constVariablePointer] merecat-2.31+git20220513+ds/src/libhttpd.c:2606:14: style: Variable 'url_proto' can be declared as pointer to const [constVariablePointer] merecat-2.31+git20220513+ds/src/libhttpd.c:2957:10: style: Variable 'c' can be declared as pointer to const [constVariablePointer] merecat-2.31+git20220513+ds/src/libhttpd.c:2957:14: style: Variable 'q' can be declared as pointer to const [constVariablePointer] merecat-2.31+git20220513+ds/src/libhttpd.c:3176:20: style: Parameter 'a' can be declared as pointer to const. However it seems that 'ext_compare' is a callback function, if 'a' is declared with const you might also need to cast function pointer(s). [constParameterCallback] merecat-2.31+git20220513+ds/src/libhttpd.c:3215:46: note: You might need to cast the function pointer here merecat-2.31+git20220513+ds/src/libhttpd.c:3176:20: note: Parameter 'a' can be declared as pointer to const merecat-2.31+git20220513+ds/src/libhttpd.c:3177:20: style: Parameter 'b' can be declared as pointer to const. However it seems that 'ext_compare' is a callback function, if 'b' is declared with const you might also need to cast function pointer(s). [constParameterCallback] merecat-2.31+git20220513+ds/src/libhttpd.c:3215:46: note: You might need to cast the function pointer here merecat-2.31+git20220513+ds/src/libhttpd.c:3177:20: note: Parameter 'b' can be declared as pointer to const merecat-2.31+git20220513+ds/src/libhttpd.c:3182:53: style: Parameter 'ext' can be declared as pointer to const [constParameterPointer] merecat-2.31+git20220513+ds/src/libhttpd.c:3237:8: style: Variable 'prev_dot' can be declared as pointer to const [constVariablePointer] merecat-2.31+git20220513+ds/src/libhttpd.c:3305:50: style: Parameter 'now' can be declared as pointer to const. However it seems that 'cgi_kill2' is a callback function, if 'now' is declared with const you might also need to cast function pointer(s). [constParameterCallback] merecat-2.31+git20220513+ds/src/libhttpd.c:3322:24: note: You might need to cast the function pointer here merecat-2.31+git20220513+ds/src/libhttpd.c:3305:50: note: Parameter 'now' can be declared as pointer to const merecat-2.31+git20220513+ds/src/libhttpd.c:3679:47: style: Parameter 'fn' can be declared as pointer to const [constParameterPointer] merecat-2.31+git20220513+ds/src/libhttpd.c:3693:47: style: Parameter 'fn' can be declared as pointer to const [constParameterPointer] merecat-2.31+git20220513+ds/src/libhttpd.c:3707:30: style: Parameter 'fmt' can be declared as pointer to const [constParameterPointer] merecat-2.31+git20220513+ds/src/libhttpd.c:3707:41: style: Parameter 'arg' can be declared as pointer to const [constParameterPointer] merecat-2.31+git20220513+ds/src/libhttpd.c:3818:9: style: Variable 'dedot' can be declared as pointer to const [constVariablePointer] merecat-2.31+git20220513+ds/src/libhttpd.c:4095:8: style: Variable 'br' can be declared as pointer to const [constVariablePointer] merecat-2.31+git20220513+ds/src/libhttpd.c:4097:8: style: Variable 'title' can be declared as pointer to const [constVariablePointer] merecat-2.31+git20220513+ds/src/libhttpd.c:4594:8: style: Variable 'cp' can be declared as pointer to const [constVariablePointer] merecat-2.31+git20220513+ds/src/libhttpd.c:4834:9: style: Variable 'extra' can be declared as pointer to const [constVariablePointer] merecat-2.31+git20220513+ds/src/libhttpd.c:4840:9: style: Variable 'extra' can be declared as pointer to const [constVariablePointer] merecat-2.31+git20220513+ds/src/libhttpd.c:4932:8: style: Variable 'lp' can be declared as pointer to const [constVariablePointer] merecat-2.31+git20220513+ds/src/libhttpd.c:4993:30: style: Parameter 'sa' can be declared as pointer to const [constParameterPointer] merecat-2.31+git20220513+ds/src/libhttpd.c:5013:22: style: Parameter 'address' can be declared as pointer to const [constParameterPointer] merecat-2.31+git20220513+ds/src/libhttpd.c:5041:30: style: Parameter 'sa' can be declared as pointer to const [constParameterPointer] merecat-2.31+git20220513+ds/src/libhttpd.c:5060:39: style: Parameter 'sa' can be declared as pointer to const [constParameterPointer] merecat-2.31+git20220513+ds/src/libhttpd.c:5077:40: style: Parameter 'sa' can be declared as pointer to const [constParameterPointer] merecat-2.31+git20220513+ds/src/libhttpd.c:5162:58: style: Parameter 'iov' can be declared as pointer to const [constParameterPointer] merecat-2.31+git20220513+ds/src/libhttpd.c:547:6: style: Unused variable: flags [unusedVariable] diff: head merecat-2.31+git20220513+ds/src/mmc.c:292:13: portability: Casting non-zero decimal integer literal to pointer. [intToPointerCast] DONE