2025-07-02 15:14 ftp://ftp.de.debian.org/debian/pool/main/e/efax/efax_0.9a.orig.tar.gz cppcheck-options: --library=posix --library=gnu --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 -j6 platform: Linux-6.1.0-37-amd64-x86_64-with-glibc2.36 python: 3.11.2 client-version: 1.3.67 compiler: g++ (Debian 12.2.0-14+deb12u1) 12.2.0 cppcheck: head 2.17.0 head-info: 90b0e14 (2025-07-02 15:41:51 +0200) count: 91 92 elapsed-time: 0.9 1.0 head-timing-info: old-timing-info: head results: efax-0.9a-001114/efaxmsg.c:105:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] efax-0.9a-001114/efaxio.c:72:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] efax-0.9a-001114/efaxio.c:274:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] efax-0.9a-001114/efaxio.c:288:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] efax-0.9a-001114/efaxio.c:337:43: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] efax-0.9a-001114/efaxio.c:422:43: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SIG_ERR [valueFlowBailoutIncompleteVar] efax-0.9a-001114/efaxos.c:111:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] efax-0.9a-001114/efaxos.c:139:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] efax-0.9a-001114/efaxos.c:151:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] efax-0.9a-001114/efaxos.c:203:50: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable VMIN [valueFlowBailoutIncompleteVar] efax-0.9a-001114/efaxos.c:239:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable IGNBRK [valueFlowBailoutIncompleteVar] efax-0.9a-001114/efaxos.c:313:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDWR [valueFlowBailoutIncompleteVar] efax-0.9a-001114/efaxos.c:372:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] efax-0.9a-001114/efix.c:170:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdin [valueFlowBailoutIncompleteVar] efax-0.9a-001114/efix.c:252:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LC_ALL [valueFlowBailoutIncompleteVar] efax-0.9a-001114/efaxmsg.c:45:6: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] efax-0.9a-001114/efaxmsg.c:162:43: style: Parameter 'args' can be declared as pointer to const [constParameterPointer] efax-0.9a-001114/efaxmsg.c:164:13: style: Variable 'p' can be declared as pointer to const [constVariablePointer] efax-0.9a-001114/efax.c:749:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] efax-0.9a-001114/efax.c:862:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] efax-0.9a-001114/efax.c:944:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] efax-0.9a-001114/efax.c:1071:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] efax-0.9a-001114/efax.c:1625:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] efax-0.9a-001114/efax.c:2239:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LC_ALL [valueFlowBailoutIncompleteVar] efax-0.9a-001114/efaxio.c:414:8: style: The if condition is the same as the previous if condition [duplicateCondition] efax-0.9a-001114/efaxio.c:412:8: note: First condition efax-0.9a-001114/efaxio.c:414:8: note: Second condition efax-0.9a-001114/efaxio.c:93:32: style: Parameter 'p' can be declared as pointer to const [constParameterPointer] efax-0.9a-001114/efaxio.c:96:10: style: Variable 'order' can be declared as pointer to const [constVariablePointer] efax-0.9a-001114/efaxio.c:136:25: style: Parameter 's' can be declared as pointer to const [constParameterPointer] efax-0.9a-001114/efaxio.c:165:25: style: Parameter 's' can be declared as pointer to const [constParameterPointer] efax-0.9a-001114/efaxio.c:207:37: style: Parameter 's' can be declared as pointer to const [constParameterPointer] efax-0.9a-001114/efaxos.c:106:13: warning: Either the condition 'f->fd<0' is redundant or FD_SET() argument nr 1 can have invalid value. The value is -1 but the valid values are '0:'. [invalidFunctionArg] efax-0.9a-001114/efaxos.c:100:14: note: Assuming that condition 'f->fd<0' is not redundant efax-0.9a-001114/efaxos.c:106:13: note: Invalid argument efax-0.9a-001114/efaxos.c:313:14: error: Allocation with open, tinit doesn't release it. [leakNoVarFunctionCall] efax-0.9a-001114/efaxos.c:172:19: style: Parameter 'f' can be declared as pointer to const [constParameterPointer] efax-0.9a-001114/efaxos.c:199:35: style: Parameter 't' can be declared as pointer to const [constParameterPointer] efax-0.9a-001114/efaxos.c:199:45: style: Parameter 'f' can be declared as pointer to const [constParameterPointer] efax-0.9a-001114/efaxos.c:403:9: style: Variable 'p' can be declared as pointer to const [constVariablePointer] efax-0.9a-001114/efaxos.c:351:13: style: Variable 'pid' is assigned a value that is never used. [unreadVariable] efax-0.9a-001114/efaxlib.c:452:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] efax-0.9a-001114/efaxlib.c:578:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] efax-0.9a-001114/efaxlib.c:1151:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable pf [valueFlowBailoutIncompleteVar] efax-0.9a-001114/efaxlib.c:1837:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] efax-0.9a-001114/efix.c:199:34: style: Operator '|' with one operand equal to zero is redundant. [badBitmaskCheck] efax-0.9a-001114/efix.c:204:34: style: Operator '|' with one operand equal to zero is redundant. [badBitmaskCheck] efax-0.9a-001114/efix.c:95:32: style: Parameter 's' can be declared as pointer to const [constParameterPointer] efax-0.9a-001114/efix.c:112:16: style: Variable 'unitval' can be declared as const array [constVariable] efax-0.9a-001114/efix.c:165:16: style: Variable 'chartab' can be declared as const array [constVariable] efax-0.9a-001114/efaxlib.c:396:18: style: Array index 'i' is used before limits check. [arrayIndexThenCheck] efax-0.9a-001114/efaxlib.c:639:8: style: Condition '!format' is always true [knownConditionTrueFalse] efax-0.9a-001114/efaxlib.c:635:16: note: Assignment 'format=0', assigned value is 0 efax-0.9a-001114/efaxlib.c:639:8: note: Condition '!format' is always true efax-0.9a-001114/efaxlib.c:657:29: style: Same value in both branches of ternary operator. [duplicateValueTernary] efax-0.9a-001114/efaxlib.c:536:14: style: Variable 'c' is reassigned a value before the old one has been used. [redundantAssignment] efax-0.9a-001114/efaxlib.c:535:7: note: c is assigned efax-0.9a-001114/efaxlib.c:536:14: note: c is overwritten efax-0.9a-001114/efaxlib.c:79:60: style:inconclusive: Function 'runtocode' argument 4 names different: declaration 'buf' definition 'codes'. [funcArgNamesDifferent] efax-0.9a-001114/efaxlib.h:195:60: note: Function 'runtocode' argument 4 names different: declaration 'buf' definition 'codes'. efax-0.9a-001114/efaxlib.c:79:60: note: Function 'runtocode' argument 4 names different: declaration 'buf' definition 'codes'. efax-0.9a-001114/efaxlib.c:153:21: style:inconclusive: Function 'xscale' argument 1 names different: declaration 'runs' definition 'p'. [funcArgNamesDifferent] efax-0.9a-001114/efaxlib.h:203:21: note: Function 'xscale' argument 1 names different: declaration 'runs' definition 'p'. efax-0.9a-001114/efaxlib.c:153:21: note: Function 'xscale' argument 1 names different: declaration 'runs' definition 'p'. efax-0.9a-001114/efaxlib.c:384:27: style:inconclusive: Function 'texttorun' argument 8 names different: declaration 'pels' definition 'ppels'. [funcArgNamesDifferent] efax-0.9a-001114/efaxlib.h:200:27: note: Function 'texttorun' argument 8 names different: declaration 'pels' definition 'ppels'. efax-0.9a-001114/efaxlib.c:384:27: note: Function 'texttorun' argument 8 names different: declaration 'pels' definition 'ppels'. efax-0.9a-001114/efaxlib.c:1220:33: style:inconclusive: Function 'newIFILE' argument 2 names different: declaration 'fname' definition 'fnames'. [funcArgNamesDifferent] efax-0.9a-001114/efaxlib.h:159:36: note: Function 'newIFILE' argument 2 names different: declaration 'fname' definition 'fnames'. efax-0.9a-001114/efaxlib.c:1220:33: note: Function 'newIFILE' argument 2 names different: declaration 'fname' definition 'fnames'. efax-0.9a-001114/efaxlib.c:79:39: style: Parameter 'runs' can be declared as pointer to const [constParameterPointer] efax-0.9a-001114/efaxlib.c:81:19: style: Variable 'maxcodes' can be declared as pointer to const [constVariablePointer] efax-0.9a-001114/efaxlib.c:82:24: style: Variable 'p' can be declared as pointer to const [constVariablePointer] efax-0.9a-001114/efaxlib.c:216:23: style: Parameter 'bits' can be declared as pointer to const [constParameterPointer] efax-0.9a-001114/efaxlib.c:251:38: style: Parameter 'b' can be declared as pointer to const [constParameterPointer] efax-0.9a-001114/efaxlib.c:345:10: style: Variable 'f' can be declared as pointer to const [constVariablePointer] efax-0.9a-001114/efaxlib.c:349:24: style: Variable 'right' can be declared as const array [constVariable] efax-0.9a-001114/efaxlib.c:382:24: style: Parameter 'txt' can be declared as pointer to const [constParameterPointer] efax-0.9a-001114/efaxlib.c:382:38: style: Parameter 'font' can be declared as pointer to const [constParameterPointer] efax-0.9a-001114/efaxlib.c:456:14: style: Variable 'maxp' can be declared as pointer to const [constVariablePointer] efax-0.9a-001114/efaxlib.c:1149:10: style: Variable 'reset' can be declared as const array [constVariable] efax-0.9a-001114/efaxlib.c:1199:23: style: Parameter 'f' can be declared as pointer to const [constParameterPointer] efax-0.9a-001114/efaxlib.c:1317:42: style: Parameter 'buf' can be declared as pointer to const [constParameterPointer] efax-0.9a-001114/efaxlib.c:1337:14: style: Variable 'nybblecnt' can be declared as const array [constVariable] efax-0.9a-001114/efaxlib.c:1338:16: style: Variable 'corr' can be declared as const array [constVariable] efax-0.9a-001114/efaxlib.c:1475:32: style: Parameter 'p' can be declared as pointer to const [constParameterPointer] efax-0.9a-001114/efaxlib.c:1660:23: style: Parameter 'runs' can be declared as pointer to const [constParameterPointer] efax-0.9a-001114/efaxlib.c:1662:16: style: Variable 'zerofill' can be declared as const array [constVariable] efax-0.9a-001114/efaxlib.c:1664:16: style: Variable 'onefill' can be declared as const array [constVariable] efax-0.9a-001114/efaxlib.c:1667:17: style: Variable 'buf0' can be declared as pointer to const [constVariablePointer] efax-0.9a-001114/efaxlib.c:1726:36: style: Parameter 'p' can be declared as pointer to const [constParameterPointer] efax-0.9a-001114/efaxlib.c:1992:21: style: Variable 'n' is assigned a value that is never used. [unreadVariable] efax-0.9a-001114/efax.c:2355:54: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] efax-0.9a-001114/efax.c:2382:51: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] efax-0.9a-001114/efax.c:1449:10: warning: Identical inner 'if' condition is always true. [identicalInnerCondition] efax-0.9a-001114/efax.c:1446:15: note: outer condition: !err efax-0.9a-001114/efax.c:1449:10: note: identical inner condition: !err efax-0.9a-001114/efax.c:1951:8: style: Condition '!err' is always true [knownConditionTrueFalse] efax-0.9a-001114/efax.c:1947:11: note: Assignment 'err=0', assigned value is 0 efax-0.9a-001114/efax.c:1951:8: note: Condition '!err' is always true efax-0.9a-001114/efax.c:2065:8: style: Condition '!err' is always true [knownConditionTrueFalse] efax-0.9a-001114/efax.c:2048:11: note: Assignment 'err=0', assigned value is 0 efax-0.9a-001114/efax.c:2065:8: note: Condition '!err' is always true efax-0.9a-001114/efax.c:1425:7: style:inconclusive: Found duplicate branches for 'if' and 'else'. [duplicateBranch] efax-0.9a-001114/efax.c:1426:7: note: Found duplicate branches for 'if' and 'else'. efax-0.9a-001114/efax.c:1425:7: note: Found duplicate branches for 'if' and 'else'. efax-0.9a-001114/efax.c:431:21: style: Parameter 'fif' can be declared as pointer to const [constParameterPointer] efax-0.9a-001114/efax.c:538:13: style: Variable 'p' can be declared as pointer to const [constVariablePointer] efax-0.9a-001114/efax.c:752:14: style: Variable 'maxp' can be declared as pointer to const [constVariablePointer] efax-0.9a-001114/efax.c:967:42: style: Parameter 'p' can be declared as pointer to const [constParameterPointer] efax-0.9a-001114/efax.c:1026:22: style: Parameter 'from' can be declared as pointer to const [constParameterPointer] efax-0.9a-001114/efax.c:2045:42: style: Parameter 'id' can be declared as pointer to const [constParameterPointer] efax-0.9a-001114/efax.c:2228:20: style: Variable 'ansfname' can be declared as pointer to const [constVariablePointer] efax-0.9a-001114/efax.c:1170:50: warning: Uninitialized variable: frlen [uninitvar] efax-0.9a-001114/efax.c:1164:8: note: Assuming condition is false efax-0.9a-001114/efax.c:1170:50: note: Uninitialized variable: frlen efax-0.9a-001114/efax.c:587:33: style: Variable 'nr' is assigned a value that is never used. [unreadVariable] diff: 2.17.0 efax-0.9a-001114/efaxlib.c:1229:39: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable dcx_first [valueFlowBailoutIncompleteVar] DONE