2025-06-30 15:47 ftp://ftp.de.debian.org/debian/pool/main/s/sarg/sarg_2.4.0.orig.tar.gz cppcheck-options: --library=posix --library=gnu --library=bsd --library=pcre --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-62-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: 1cff895 (2025-06-30 17:30:57 +0200) count: 252 268 elapsed-time: 20.1 20.4 head-timing-info: old-timing-info: head results: sarg-2.4.0/alias.c:351:9: style: Local variable 'tmp' shadows outer variable [shadowVariable] sarg-2.4.0/include/conf.h:315:6: note: Shadowed declaration sarg-2.4.0/alias.c:351:9: note: Shadow variable sarg-2.4.0/alias.c:366:8: style: Local variable 'tmp' shadows outer variable [shadowVariable] sarg-2.4.0/include/conf.h:315:6: note: Shadowed declaration sarg-2.4.0/alias.c:366:8: note: Shadow variable sarg-2.4.0/alias.c:447:9: style: Local variable 'tmp' shadows outer variable [shadowVariable] sarg-2.4.0/include/conf.h:315:6: note: Shadowed declaration sarg-2.4.0/alias.c:447:9: note: Shadow variable sarg-2.4.0/alias.c:461:8: style: Local variable 'tmp' shadows outer variable [shadowVariable] sarg-2.4.0/include/conf.h:315:6: note: Shadowed declaration sarg-2.4.0/alias.c:461:8: note: Shadow variable sarg-2.4.0/alias.c:597:14: style: Local variable 'name' shadows outer variable [shadowVariable] sarg-2.4.0/include/conf.h:335:6: note: Shadowed declaration sarg-2.4.0/alias.c:597:14: note: Shadow variable sarg-2.4.0/alias.c:594:53: style: Parameter 'String' can be declared as pointer to const [constParameterPointer] sarg-2.4.0/alias.c:723:74: style: Parameter 'ipv4' can be declared as pointer to const [constParameterPointer] sarg-2.4.0/alias.c:744:79: style: Parameter 'ipv6' can be declared as pointer to const [constParameterPointer] sarg-2.4.0/auth.c:47:79: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] sarg-2.4.0/authfail.c:56:88: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] sarg-2.4.0/authfail.c:85:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] sarg-2.4.0/authfail.c:142:89: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] sarg-2.4.0/authfail.c:302:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] sarg-2.4.0/authfail.c:249:57: style: Condition 'AuthfailReportLimit>0' is always true [knownConditionTrueFalse] sarg-2.4.0/authfail.c:245:26: note: Assuming that condition 'AuthfailReportLimit>0' is not redundant sarg-2.4.0/authfail.c:249:57: note: Condition 'AuthfailReportLimit>0' is always true sarg-2.4.0/authfail.c:137:25: style: Variable 'uinfo' can be declared as pointer to const [constVariablePointer] sarg-2.4.0/btree_cache.c:113:3: warning: Assignment of function parameter has no effect outside the function. Did you forget dereferencing it? [uselessAssignmentPtrArg] sarg-2.4.0/btree_cache.c:57:3: warning: If memory allocation fails, then there is a possible null pointer dereference: new_item_bt [nullPointerOutOfMemory] sarg-2.4.0/btree_cache.c:56:23: note: Assuming allocation function fails sarg-2.4.0/btree_cache.c:56:23: note: Assignment 'new_item_bt=malloc(sizeof_bt)', assigned value is 0 sarg-2.4.0/btree_cache.c:57:3: note: Null pointer dereference sarg-2.4.0/btree_cache.c:58:3: warning: If memory allocation fails, then there is a possible null pointer dereference: new_item_bt [nullPointerOutOfMemory] sarg-2.4.0/btree_cache.c:56:23: note: Assuming allocation function fails sarg-2.4.0/btree_cache.c:56:23: note: Assignment 'new_item_bt=malloc(sizeof_bt)', assigned value is 0 sarg-2.4.0/btree_cache.c:58:3: note: Null pointer dereference sarg-2.4.0/btree_cache.c:59:15: warning: If memory allocation fails, then there is a possible null pointer dereference: new_item_bt [nullPointerOutOfMemory] sarg-2.4.0/btree_cache.c:56:23: note: Assuming allocation function fails sarg-2.4.0/btree_cache.c:56:23: note: Assignment 'new_item_bt=malloc(sizeof_bt)', assigned value is 0 sarg-2.4.0/btree_cache.c:59:15: note: Null pointer dereference sarg-2.4.0/btree_cache.c:60:15: warning: If memory allocation fails, then there is a possible null pointer dereference: new_item_bt [nullPointerOutOfMemory] sarg-2.4.0/btree_cache.c:56:23: note: Assuming allocation function fails sarg-2.4.0/btree_cache.c:56:23: note: Assignment 'new_item_bt=malloc(sizeof_bt)', assigned value is 0 sarg-2.4.0/btree_cache.c:60:15: note: Null pointer dereference sarg-2.4.0/btree_cache.c:61:3: warning: If memory allocation fails, then there is a possible null pointer dereference: new_item_bt [nullPointerOutOfMemory] sarg-2.4.0/btree_cache.c:56:23: note: Assuming allocation function fails sarg-2.4.0/btree_cache.c:56:23: note: Assignment 'new_item_bt=malloc(sizeof_bt)', assigned value is 0 sarg-2.4.0/btree_cache.c:61:3: note: Null pointer dereference sarg-2.4.0/btree_cache.c:147:31: style: Local variable 'tmp' shadows outer variable [shadowVariable] sarg-2.4.0/include/conf.h:315:6: note: Shadowed declaration sarg-2.4.0/btree_cache.c:147:31: note: Shadow variable sarg-2.4.0/btree_cache.c:186:28: style: Local variable 'tmp' shadows outer variable [shadowVariable] sarg-2.4.0/include/conf.h:315:6: note: Shadowed declaration sarg-2.4.0/btree_cache.c:186:28: note: Shadow variable sarg-2.4.0/btree_cache.c:208:28: style: Local variable 'tmp' shadows outer variable [shadowVariable] sarg-2.4.0/include/conf.h:315:6: note: Shadowed declaration sarg-2.4.0/btree_cache.c:208:28: note: Shadow variable sarg-2.4.0/btree_cache.c:140:41: style: Parameter 'node' can be declared as pointer to const [constParameterPointer] sarg-2.4.0/btree_cache.c:228:43: style: Parameter 'node' can be declared as pointer to const [constParameterPointer] sarg-2.4.0/convlog.c:62:5: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] sarg-2.4.0/convlog.c:33:8: style: Variable 'buf' can be declared as pointer to const [constVariablePointer] sarg-2.4.0/convlog.c:38:13: style: Variable 't' can be declared as pointer to const [constVariablePointer] sarg-2.4.0/dansguardian_log.c:54:89: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] sarg-2.4.0/dansguardian_log.c:39:33: style: Local variable 'code2' shadows outer variable [shadowVariable] sarg-2.4.0/include/conf.h:314:6: note: Shadowed declaration sarg-2.4.0/dansguardian_log.c:39:33: note: Shadow variable sarg-2.4.0/dansguardian_report.c:64:86: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] sarg-2.4.0/datafile.c:154:84: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] sarg-2.4.0/datafile.c:216:7: style: Local variable 'name' shadows outer variable [shadowVariable] sarg-2.4.0/include/conf.h:335:6: note: Shadowed declaration sarg-2.4.0/datafile.c:216:7: note: Shadow variable sarg-2.4.0/decomp.c:489:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDONLY [valueFlowBailoutIncompleteVar] sarg-2.4.0/denied.c:56:86: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] sarg-2.4.0/denied.c:84:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] sarg-2.4.0/denied.c:143:84: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] sarg-2.4.0/denied.c:294:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] sarg-2.4.0/denied.c:138:25: style: Variable 'uinfo' can be declared as pointer to const [constVariablePointer] sarg-2.4.0/download.c:74:88: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] sarg-2.4.0/download.c:104:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] sarg-2.4.0/download.c:151:86: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] sarg-2.4.0/download.c:190:86: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] sarg-2.4.0/download.c:456:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] sarg-2.4.0/download.c:373:41: style: Variable 'cmp' is reassigned a value before the old one has been used. [redundantAssignment] sarg-2.4.0/download.c:372:9: note: cmp is assigned sarg-2.4.0/download.c:373:41: note: cmp is overwritten sarg-2.4.0/download.c:387:39: style: Variable 'cmp' is reassigned a value before the old one has been used. [redundantAssignment] sarg-2.4.0/download.c:386:7: note: cmp is assigned sarg-2.4.0/download.c:387:39: note: cmp is overwritten sarg-2.4.0/download.c:185:25: style: Variable 'uinfo' can be declared as pointer to const [constVariablePointer] sarg-2.4.0/email.c:50:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] sarg-2.4.0/email.c:71:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] sarg-2.4.0/email.c:68:7: style: Local variable 'warea' shadows outer variable [shadowVariable] sarg-2.4.0/include/conf.h:334:6: note: Shadowed declaration sarg-2.4.0/email.c:68:7: note: Shadow variable sarg-2.4.0/exclude.c:196:80: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] sarg-2.4.0/exclude.c:320:80: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] sarg-2.4.0/exclude.c:189:14: style: Local variable 'name' shadows outer variable [shadowVariable] sarg-2.4.0/include/conf.h:335:6: note: Shadowed declaration sarg-2.4.0/exclude.c:189:14: note: Shadow variable sarg-2.4.0/exclude.c:247:14: style: Local variable 'name' shadows outer variable [shadowVariable] sarg-2.4.0/include/conf.h:335:6: note: Shadowed declaration sarg-2.4.0/exclude.c:247:14: note: Shadow variable sarg-2.4.0/exclude.c:72:46: style: Parameter 'addr' can be declared as pointer to const [constParameterPointer] sarg-2.4.0/exclude.c:100:47: style: Parameter 'addr' can be declared as pointer to const [constParameterPointer] sarg-2.4.0/fileobject.c:89:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] sarg-2.4.0/fileobject.c:119:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] sarg-2.4.0/fileobject.c:151:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] sarg-2.4.0/fileobject.c:126:2: error: Resource leak: File.Data [resourceLeak] sarg-2.4.0/fileobject.c:158:2: error: Resource leak: File.Data [resourceLeak] sarg-2.4.0/getconf.c:1003:77: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] sarg-2.4.0/getconf.c:464:2: warning: Assignment of function parameter has no effect outside the function. Did you forget dereferencing it? [uselessAssignmentPtrArg] sarg-2.4.0/getconf.c:861:8: style: Local variable 'warea' shadows outer variable [shadowVariable] sarg-2.4.0/include/conf.h:334:6: note: Shadowed declaration sarg-2.4.0/getconf.c:861:8: note: Shadow variable sarg-2.4.0/getconf.c:495:8: style: Variable 'file_begin' can be declared as pointer to const [constVariablePointer] sarg-2.4.0/getconf.c:498:8: style: Variable 'str' can be declared as pointer to const [constVariablePointer] sarg-2.4.0/getconf.c:671:10: style: Variable 'FileName' can be declared as pointer to const [constVariablePointer] sarg-2.4.0/getconf.c:698:10: style: Variable 'FileName' can be declared as pointer to const [constVariablePointer] sarg-2.4.0/grepday.c:666:47: style:inconclusive: Function 'greport_day' argument 1 names different: declaration 'user' definition 'uinfo'. [funcArgNamesDifferent] sarg-2.4.0/include/defs.h:257:47: note: Function 'greport_day' argument 1 names different: declaration 'user' definition 'uinfo'. sarg-2.4.0/grepday.c:666:47: note: Function 'greport_day' argument 1 names different: declaration 'user' definition 'uinfo'. sarg-2.4.0/html.c:101:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] sarg-2.4.0/html.c:57:7: style: Local variable 'warea' shadows outer variable [shadowVariable] sarg-2.4.0/include/conf.h:334:6: note: Shadowed declaration sarg-2.4.0/html.c:57:7: note: Shadow variable sarg-2.4.0/html.c:591:8: style: Local variable 'mask' shadows outer variable [shadowVariable] sarg-2.4.0/include/conf.h:432:6: note: Shadowed declaration sarg-2.4.0/html.c:591:8: note: Shadow variable sarg-2.4.0/index.c:58:76: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] sarg-2.4.0/index.c:160:82: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] sarg-2.4.0/index.c:253:86: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] sarg-2.4.0/index.c:413:85: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] sarg-2.4.0/index.c:549:84: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] sarg-2.4.0/index.c:671:6: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable sortlist [valueFlowBailoutIncompleteVar] sarg-2.4.0/index.c:900:87: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] sarg-2.4.0/index.c:1038:96: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] sarg-2.4.0/index.c:947:8: style: Local variable 'cmd' shadows outer variable [shadowVariable] sarg-2.4.0/include/conf.h:442:6: note: Shadowed declaration sarg-2.4.0/index.c:947:8: note: Shadow variable sarg-2.4.0/index.c:968:7: style: Local variable 'val1' shadows outer variable [shadowVariable] sarg-2.4.0/include/conf.h:423:6: note: Shadowed declaration sarg-2.4.0/index.c:968:7: note: Shadow variable sarg-2.4.0/index.c:671:21: warning: Found suspicious operator ',', result is not used. [constStatement] sarg-2.4.0/index.c:45:17: style: Variable 'direntp' can be declared as pointer to const [constVariablePointer] sarg-2.4.0/index.c:112:49: style: Parameter 'statb' can be declared as pointer to const [constParameterPointer] sarg-2.4.0/index.c:535:17: style: Variable 'direntp' can be declared as pointer to const [constVariablePointer] sarg-2.4.0/index.c:970:8: style: Variable 'str' can be declared as pointer to const [constVariablePointer] sarg-2.4.0/indexonly.c:38:85: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] sarg-2.4.0/ip2name.c:315:10: style: Obsolescent function 'gethostbyname' called. It is recommended to use 'getaddrinfo' instead. [prohibitedgethostbynameCalled] sarg-2.4.0/ip2name.c:304:18: style: Variable 'hp' can be declared as pointer to const [constVariablePointer] sarg-2.4.0/ip2name_dns.c:113:51: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AF_INET [valueFlowBailoutIncompleteVar] sarg-2.4.0/ip2name_dns.c:113:7: style: Obsolescent function 'gethostbyaddr' called. It is recommended to use 'getnameinfo' instead. [prohibitedgethostbyaddrCalled] sarg-2.4.0/ip2name_dns.c:98:17: style: Local variable 'addr' shadows outer variable [shadowVariable] sarg-2.4.0/include/conf.h:439:6: note: Shadowed declaration sarg-2.4.0/ip2name_dns.c:98:17: note: Shadow variable sarg-2.4.0/ip2name_dns.c:99:18: style: Variable 'hp' can be declared as pointer to const [constVariablePointer] sarg-2.4.0/ip2name_exec.c:77:7: style: Local variable 'cmd' shadows outer variable [shadowVariable] sarg-2.4.0/include/conf.h:442:6: note: Shadowed declaration sarg-2.4.0/ip2name_exec.c:77:7: note: Shadow variable sarg-2.4.0/lastlog.c:96:82: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] sarg-2.4.0/lastlog.c:161:84: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] sarg-2.4.0/lastlog.c:215:83: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] sarg-2.4.0/lastlog.c:149:7: style: Local variable 'warea' shadows outer variable [shadowVariable] sarg-2.4.0/include/conf.h:334:6: note: Shadowed declaration sarg-2.4.0/lastlog.c:149:7: note: Shadow variable sarg-2.4.0/lastlog.c:258:7: style: Local variable 'warea' shadows outer variable [shadowVariable] sarg-2.4.0/include/conf.h:334:6: note: Shadowed declaration sarg-2.4.0/lastlog.c:258:7: note: Shadow variable sarg-2.4.0/lastlog.c:207:17: style: Variable 'direntp' can be declared as pointer to const [constVariablePointer] sarg-2.4.0/log.c:88:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable no_argument [valueFlowBailoutIncompleteVar] sarg-2.4.0/log.c:784:80: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] sarg-2.4.0/log.c:428:12: style: The comparison 'errflg > 0' is always false. [knownConditionTrueFalse] sarg-2.4.0/log.c:64:14: note: 'errflg' is assigned value '0' here. sarg-2.4.0/log.c:428:12: note: The comparison 'errflg > 0' is always false. sarg-2.4.0/log.c:86:23: style: Variable 'long_options' can be declared as const array [constVariable] sarg-2.4.0/readlog.c:195:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdin [valueFlowBailoutIncompleteVar] sarg-2.4.0/readlog.c:350:131: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] sarg-2.4.0/readlog.c:814:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] sarg-2.4.0/readlog.c:352:24: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] sarg-2.4.0/readlog.c:174:30: style: Parameter 'Data' can be declared as pointer to const. However it seems that 'Stdin_Close' is a callback function, if 'Data' is declared with const you might also need to cast function pointer(s). [constParameterCallback] sarg-2.4.0/readlog.c:199:14: note: You might need to cast the function pointer here sarg-2.4.0/readlog.c:174:30: note: Parameter 'Data' can be declared as pointer to const sarg-2.4.0/readlog.c:303:54: style: Parameter 'Filter' can be declared as pointer to const [constParameterPointer] sarg-2.4.0/readlog.c:352:16: style: Variable 'logtime' can be declared as pointer to const [constVariablePointer] sarg-2.4.0/readlog_extlog.c:204:8: style: Condition '!ExtLog_Fields(Line)' is always false [knownConditionTrueFalse] sarg-2.4.0/readlog_extlog.c:204:22: note: Calling function 'ExtLog_Fields' returns 1 sarg-2.4.0/readlog_extlog.c:204:8: note: Condition '!ExtLog_Fields(Line)' is always false sarg-2.4.0/readlog_extlog.c:511:8: style: Local variable 'UserAgent' shadows outer function [shadowFunction] sarg-2.4.0/include/defs.h:346:6: note: Shadowed declaration sarg-2.4.0/readlog_extlog.c:511:8: note: Shadow variable sarg-2.4.0/readlog_squid.c:129:5: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] sarg-2.4.0/readlog_squid.c:57:13: style: Variable 'tt' can be declared as pointer to const [constVariablePointer] sarg-2.4.0/realtime.c:70:73: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] sarg-2.4.0/realtime.c:128:6: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] sarg-2.4.0/realtime.c:141:7: style: Local variable 'name' shadows outer variable [shadowVariable] sarg-2.4.0/include/conf.h:335:6: note: Shadowed declaration sarg-2.4.0/realtime.c:141:7: note: Shadow variable sarg-2.4.0/realtime.c:94:84: style: Parameter 'Entry' can be declared as pointer to const [constParameterPointer] sarg-2.4.0/realtime.c:143:32: style: Variable 'entry' can be declared as pointer to const [constVariablePointer] sarg-2.4.0/redirector.c:271:122: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] sarg-2.4.0/redirector.c:326:81: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] sarg-2.4.0/redirector.c:486:79: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] sarg-2.4.0/redirector.c:397:6: style: Condition 'fp_ou' is always true [knownConditionTrueFalse] sarg-2.4.0/redirector.c:41:41: style: Parameter 'buf' can be declared as pointer to const [constParameterPointer] sarg-2.4.0/redirector.c:55:12: style: Variable 'idata' is assigned a value that is never used. [unreadVariable] sarg-2.4.0/redirector.c:317:7: style: Variable 'str2' is assigned a value that is never used. [unreadVariable] sarg-2.4.0/repday.c:71:81: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] sarg-2.4.0/repday.c:32:46: style:inconclusive: Function 'report_day' argument 1 names different: declaration 'user' definition 'uinfo'. [funcArgNamesDifferent] sarg-2.4.0/include/defs.h:297:46: note: Function 'report_day' argument 1 names different: declaration 'user' definition 'uinfo'. sarg-2.4.0/repday.c:32:46: note: Function 'report_day' argument 1 names different: declaration 'user' definition 'uinfo'. sarg-2.4.0/report.c:124:81: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] sarg-2.4.0/report.c:474:81: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] sarg-2.4.0/report.c:488:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PRIu64 [valueFlowBailoutIncompleteVar] sarg-2.4.0/report.c:500:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] sarg-2.4.0/report.c:522:81: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] sarg-2.4.0/report.c:547:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PRIu64 [valueFlowBailoutIncompleteVar] sarg-2.4.0/report.c:569:31: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PRIu64 [valueFlowBailoutIncompleteVar] sarg-2.4.0/report.c:810:81: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] sarg-2.4.0/report.c:73:22: style: Variable 'nbytes' is assigned a value that is never used. [unreadVariable] sarg-2.4.0/report.c:74:21: style: Variable 'nelap' is assigned a value that is never used. [unreadVariable] sarg-2.4.0/report.c:75:20: style: Variable 'nacc' is assigned a value that is never used. [unreadVariable] sarg-2.4.0/report.c:76:23: style: Variable 'incache' is assigned a value that is never used. [unreadVariable] sarg-2.4.0/report.c:77:23: style: Variable 'oucache' is assigned a value that is never used. [unreadVariable] sarg-2.4.0/report.c:86:17: style: Variable 'ourltt_size' is assigned a value that is never used. [unreadVariable] sarg-2.4.0/siteuser.c:83:79: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] sarg-2.4.0/smartfilter.c:87:81: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] sarg-2.4.0/smartfilter.c:206:29: warning: Either the condition 'fp_user' is redundant or there is possible null pointer dereference: fp_user. [nullPointerRedundantCheck] sarg-2.4.0/smartfilter.c:212:6: note: Assuming that condition 'fp_user' is not redundant sarg-2.4.0/smartfilter.c:206:29: note: Null pointer dereference sarg-2.4.0/sort.c:91:75: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] sarg-2.4.0/sort.c:146:75: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] sarg-2.4.0/sort.c:167:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LC_MESSAGES [valueFlowBailoutIncompleteVar] sarg-2.4.0/splitlog.c:75:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] sarg-2.4.0/splitlog.c:99:5: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] sarg-2.4.0/splitlog.c:50:8: style: Variable 'buf' can be declared as pointer to const [constVariablePointer] sarg-2.4.0/splitlog.c:61:13: style: Variable 't' can be declared as pointer to const [constVariablePointer] sarg-2.4.0/topsites.c:104:81: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] sarg-2.4.0/topsites.c:63:6: style: Local variable 'nusers' shadows outer variable [shadowVariable] sarg-2.4.0/include/conf.h:475:19: note: Shadowed declaration sarg-2.4.0/topsites.c:63:6: note: Shadow variable sarg-2.4.0/topuser.c:63:77: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] sarg-2.4.0/topuser.c:109:77: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] sarg-2.4.0/topuser.c:456:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LC_MESSAGES [valueFlowBailoutIncompleteVar] sarg-2.4.0/topuser.c:592:77: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] sarg-2.4.0/topuser.c:548:10: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] sarg-2.4.0/topuser.c:549:29: style: Obsolete function 'asctime' called. It is recommended to use 'strftime' instead. [prohibitedasctimeCalled] sarg-2.4.0/topuser.c:95:8: style: Local variable 'warea' shadows outer variable [shadowVariable] sarg-2.4.0/include/conf.h:334:6: note: Shadowed declaration sarg-2.4.0/topuser.c:95:8: note: Shadow variable sarg-2.4.0/topuser.c:404:8: style: Local variable 'warea' shadows outer variable [shadowVariable] sarg-2.4.0/include/conf.h:334:6: note: Shadowed declaration sarg-2.4.0/topuser.c:404:8: note: Shadow variable sarg-2.4.0/topuser.c:570:8: style: Local variable 'warea' shadows outer variable [shadowVariable] sarg-2.4.0/include/conf.h:334:6: note: Shadowed declaration sarg-2.4.0/topuser.c:570:8: note: Shadow variable sarg-2.4.0/topuser.c:81:109: style: Parameter 'SortInfo' can be declared as pointer to const [constParameterPointer] sarg-2.4.0/topuser.c:95:8: style: Variable 'warea' can be declared as pointer to const [constVariablePointer] sarg-2.4.0/topuser.c:398:108: style: Parameter 'SortInfo' can be declared as pointer to const [constParameterPointer] sarg-2.4.0/topuser.c:404:8: style: Variable 'warea' can be declared as pointer to const [constVariablePointer] sarg-2.4.0/topuser.c:417:13: style: Variable 'local' can be declared as pointer to const [constVariablePointer] sarg-2.4.0/totday.c:160:79: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] sarg-2.4.0/totday.c:207:76: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] sarg-2.4.0/url.c:136:8: style: Local variable 'tmp' shadows outer variable [shadowVariable] sarg-2.4.0/include/conf.h:315:6: note: Shadowed declaration sarg-2.4.0/url.c:136:8: note: Shadow variable sarg-2.4.0/url.c:294:8: style: Local variable 'tmp' shadows outer variable [shadowVariable] sarg-2.4.0/include/conf.h:315:6: note: Shadowed declaration sarg-2.4.0/url.c:294:8: note: Shadow variable sarg-2.4.0/url.c:376:8: style: Local variable 'tmp' shadows outer variable [shadowVariable] sarg-2.4.0/include/conf.h:315:6: note: Shadowed declaration sarg-2.4.0/url.c:376:8: note: Shadow variable sarg-2.4.0/url.c:537:14: style: Local variable 'name' shadows outer variable [shadowVariable] sarg-2.4.0/include/conf.h:335:6: note: Shadowed declaration sarg-2.4.0/url.c:537:14: note: Shadow variable sarg-2.4.0/url.c:285:43: style: Parameter 'ipv4' can be declared as pointer to const [constParameterPointer] sarg-2.4.0/url.c:367:44: style: Parameter 'ipv6' can be declared as pointer to const [constParameterPointer] sarg-2.4.0/url.c:534:30: style: Parameter 'buf' can be declared as pointer to const [constParameterPointer] sarg-2.4.0/url.c:727:66: style: Parameter 'ipv4' can be declared as pointer to const [constParameterPointer] sarg-2.4.0/url.c:749:71: style: Parameter 'ipv6' can be declared as pointer to const [constParameterPointer] sarg-2.4.0/usage.c:40:82: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SYSCONFDIR [valueFlowBailoutIncompleteVar] sarg-2.4.0/useragent.c:57:90: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] sarg-2.4.0/useragent.c:189:33: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] sarg-2.4.0/useragent.c:245:77: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] sarg-2.4.0/useragent.c:218:7: style: Local variable 'idate' shadows outer variable [shadowVariable] sarg-2.4.0/include/conf.h:477:6: note: Shadowed declaration sarg-2.4.0/useragent.c:218:7: note: Shadow variable sarg-2.4.0/useragent.c:94:8: style: Variable 'ptr' can be declared as pointer to const [constVariablePointer] sarg-2.4.0/useragent.c:377:10: style: Variable 'agentdif' is assigned a value that is never used. [unreadVariable] sarg-2.4.0/useragent.c:421:6: style: Variable 'perc' is assigned a value that is never used. [unreadVariable] sarg-2.4.0/userinfo.c:454:9: style: Variable 'str' can be declared as pointer to const [constVariablePointer] sarg-2.4.0/usertab.c:105:84: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] sarg-2.4.0/usertab.c:102:6: style: Local variable 'z1' shadows outer variable [shadowVariable] sarg-2.4.0/include/conf.h:481:6: note: Shadowed declaration sarg-2.4.0/usertab.c:102:6: note: Shadow variable sarg-2.4.0/usertab.c:102:10: style: Local variable 'z2' shadows outer variable [shadowVariable] sarg-2.4.0/include/conf.h:481:10: note: Shadowed declaration sarg-2.4.0/usertab.c:102:10: note: Shadow variable sarg-2.4.0/usertab.c:170:7: style: Local variable 'warea' shadows outer variable [shadowVariable] sarg-2.4.0/include/conf.h:334:6: note: Shadowed declaration sarg-2.4.0/usertab.c:170:7: note: Shadow variable sarg-2.4.0/usertab.c:171:8: style: Variable 'str' can be declared as pointer to const [constVariablePointer] sarg-2.4.0/util.c:100:80: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable __func__ [valueFlowBailoutIncompleteVar] sarg-2.4.0/util.c:140:80: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable __func__ [valueFlowBailoutIncompleteVar] sarg-2.4.0/util.c:166:80: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable __func__ [valueFlowBailoutIncompleteVar] sarg-2.4.0/util.c:202:79: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable __func__ [valueFlowBailoutIncompleteVar] sarg-2.4.0/util.c:243:79: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable __func__ [valueFlowBailoutIncompleteVar] sarg-2.4.0/util.c:281:79: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable __func__ [valueFlowBailoutIncompleteVar] sarg-2.4.0/util.c:321:79: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable __func__ [valueFlowBailoutIncompleteVar] sarg-2.4.0/util.c:443:85: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] sarg-2.4.0/util.c:613:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] sarg-2.4.0/util.c:636:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] sarg-2.4.0/util.c:658:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] sarg-2.4.0/util.c:861:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] sarg-2.4.0/util.c:928:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] sarg-2.4.0/util.c:1194:87: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] sarg-2.4.0/util.c:1495:34: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] sarg-2.4.0/util.c:1665:76: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] sarg-2.4.0/util.c:1806:81: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] sarg-2.4.0/util.c:1828:85: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] sarg-2.4.0/util.c:2302:33: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PACKAGE_VERSION [valueFlowBailoutIncompleteVar] sarg-2.4.0/util.c:2364:74: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] sarg-2.4.0/util.c:2460:74: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] sarg-2.4.0/util.c:2674:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] sarg-2.4.0/util.c:2690:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] sarg-2.4.0/util.c:1337:3: warning: Assignment of function parameter has no effect outside the function. Did you forget dereferencing it? [uselessAssignmentPtrArg] sarg-2.4.0/util.c:1029:25: style: Array index 'i' is used before limits check. [arrayIndexThenCheck] sarg-2.4.0/util.c:1053:25: style: Array index 'i' is used before limits check. [arrayIndexThenCheck] sarg-2.4.0/util.c:886:9: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] sarg-2.4.0/util.c:1525:8: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] sarg-2.4.0/util.c:1587:10: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] sarg-2.4.0/util.c:1663:10: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] sarg-2.4.0/util.c:1687:10: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] sarg-2.4.0/util.c:1694:10: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] sarg-2.4.0/util.c:1703:10: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] sarg-2.4.0/util.c:1716:10: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] sarg-2.4.0/util.c:1742:10: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] sarg-2.4.0/util.c:1166:6: style: The if condition is the same as the previous if condition [duplicateCondition] sarg-2.4.0/util.c:1155:6: note: First condition sarg-2.4.0/util.c:1166:6: note: Second condition sarg-2.4.0/util.c:726:20: style: Condition 'numlen<=21' is always true [knownConditionTrueFalse] sarg-2.4.0/util.c:724:20: note: Assuming that condition 'numlen>=18' is not redundant sarg-2.4.0/util.c:726:20: note: Condition 'numlen<=21' is always true sarg-2.4.0/util.c:2144:60: style:inconclusive: Function 'write_html_header' argument 3 names different: declaration 'title' definition 'page_title'. [funcArgNamesDifferent] sarg-2.4.0/include/defs.h:397:60: note: Function 'write_html_header' argument 3 names different: declaration 'title' definition 'page_title'. sarg-2.4.0/util.c:2144:60: note: Function 'write_html_header' argument 3 names different: declaration 'title' definition 'page_title'. sarg-2.4.0/util.c:1259:7: style: Local variable 'DateFormat' shadows outer variable [shadowVariable] sarg-2.4.0/include/conf.h:364:6: note: Shadowed declaration sarg-2.4.0/util.c:1259:7: note: Shadow variable sarg-2.4.0/util.c:2540:21: style: Local variable 'addr' shadows outer variable [shadowVariable] sarg-2.4.0/include/conf.h:439:6: note: Shadowed declaration sarg-2.4.0/util.c:2540:21: note: Shadow variable sarg-2.4.0/util.c:2543:6: style: Local variable 'mask' shadows outer variable [shadowVariable] sarg-2.4.0/include/conf.h:432:6: note: Shadowed declaration sarg-2.4.0/util.c:2543:6: note: Shadow variable sarg-2.4.0/util.c:875:13: style: Variable 'fulltm' can be declared as pointer to const [constVariablePointer] sarg-2.4.0/util.c:941:8: style: Variable 'buf' can be declared as pointer to const [constVariablePointer] sarg-2.4.0/util.c:1436:13: style: Variable 'loctm' can be declared as pointer to const [constVariablePointer] sarg-2.4.0/util.c:1474:26: style: Variable 'uinfo' can be declared as pointer to const [constVariablePointer] sarg-2.4.0/util.c:1584:13: style: Variable 'local' can be declared as pointer to const [constVariablePointer] sarg-2.4.0/util.c:1651:14: style: Variable 'Date0' can be declared as pointer to const [constVariablePointer] sarg-2.4.0/util.c:1884:8: style: Variable 'cod' can be declared as pointer to const [constVariablePointer] sarg-2.4.0/util.c:1935:9: style: Variable 'p_UserInvalidChar' can be declared as pointer to const [constVariablePointer] sarg-2.4.0/util.c:1065:6: style: Variable 'str' is assigned a value that is never used. [unreadVariable] sarg-2.4.0/util.c:1324:7: style: Variable 'Name' is assigned a value that is never used. [unreadVariable] sarg-2.4.0/util.c:1337:7: style: Variable 'Name' is assigned a value that is never used. [unreadVariable] sarg-2.4.0/util.c:1458:19: style: Variable 'wlen' is assigned a value that is never used. [unreadVariable] sarg-2.4.0/util.c:1461:8: style: Variable 'wlen' is assigned a value that is never used. [unreadVariable] sarg-2.4.0/util.c:1464:8: style: Variable 'wlen' is assigned a value that is never used. [unreadVariable] sarg-2.4.0/util.c:1469:8: style: Variable 'wlen' is assigned a value that is never used. [unreadVariable] diff: 2.17.0 sarg-2.4.0/index.c:1009:22: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] 2.17.0 sarg-2.4.0/index.c:164:18: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] 2.17.0 sarg-2.4.0/index.c:263:20: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] 2.17.0 sarg-2.4.0/index.c:423:20: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] 2.17.0 sarg-2.4.0/index.c:552:20: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] 2.17.0 sarg-2.4.0/index.c:689:20: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] 2.17.0 sarg-2.4.0/index.c:75:20: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] 2.17.0 sarg-2.4.0/index.c:984:21: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] 2.17.0 sarg-2.4.0/indexonly.c:41:21: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] 2.17.0 sarg-2.4.0/lastlog.c:164:20: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] 2.17.0 sarg-2.4.0/lastlog.c:219:21: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] 2.17.0 sarg-2.4.0/lastlog.c:99:20: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] 2.17.0 sarg-2.4.0/util.c:1204:20: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] 2.17.0 sarg-2.4.0/util.c:2349:20: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] 2.17.0 sarg-2.4.0/util.c:2430:20: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] 2.17.0 sarg-2.4.0/util.c:2471:20: portability: Non reentrant function 'readdir' called. For threadsafe applications it is recommended to use the reentrant replacement function 'readdir_r'. [prohibitedreaddirCalled] DONE