2025-05-05 04:50 ftp://ftp.de.debian.org/debian/pool/main/j/jamnntpd/jamnntpd_1.3.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 -j1 platform: Linux-6.8.0-59-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: 88ef81e (2025-05-02 08:42:38 +0200) count: 116 115 elapsed-time: 2.4 2.6 head-timing-info: old-timing-info: head results: jamnntpd-1.3/src/allow.c:13:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable FALSE [valueFlowBailoutIncompleteVar] jamnntpd-1.3/src/allow.c:3:40: style:inconclusive: Function 'checkallow' argument 2 names different: declaration 'str' definition 'ip'. [funcArgNamesDifferent] jamnntpd-1.3/src/allow.h:1:40: note: Function 'checkallow' argument 2 names different: declaration 'str' definition 'ip'. jamnntpd-1.3/src/allow.c:3:40: note: Function 'checkallow' argument 2 names different: declaration 'str' definition 'ip'. jamnntpd-1.3/src/groups.c:14:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable FALSE [valueFlowBailoutIncompleteVar] jamnntpd-1.3/src/jamlib/crc32.c:67:24: style: Parameter 'Buffer_PC' can be declared as pointer to const [constParameterPointer] jamnntpd-1.3/src/jamlib/lastread.c:60:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] jamnntpd-1.3/src/jamlib/lastread.c:104:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] jamnntpd-1.3/src/jamlib/lastread.c:49:34: style:inconclusive: Function 'JAM_ReadLastRead' argument 1 names different: declaration 'Area_PS' definition 'Base_PS'. [funcArgNamesDifferent] jamnntpd-1.3/src/jamlib/jam.h:306:37: note: Function 'JAM_ReadLastRead' argument 1 names different: declaration 'Area_PS' definition 'Base_PS'. jamnntpd-1.3/src/jamlib/lastread.c:49:34: note: Function 'JAM_ReadLastRead' argument 1 names different: declaration 'Area_PS' definition 'Base_PS'. jamnntpd-1.3/src/jamlib/lastread.c:89:36: style:inconclusive: Function 'JAM_WriteLastRead' argument 1 names different: declaration 'Area_PS' definition 'Base_PS'. [funcArgNamesDifferent] jamnntpd-1.3/src/jamlib/jam.h:310:38: note: Function 'JAM_WriteLastRead' argument 1 names different: declaration 'Area_PS' definition 'Base_PS'. jamnntpd-1.3/src/jamlib/lastread.c:89:36: note: Function 'JAM_WriteLastRead' argument 1 names different: declaration 'Area_PS' definition 'Base_PS'. jamnntpd-1.3/src/jamlib/mbase.c:538:0: error: #error Unsupported platform [preprocessorErrorDirective] jamnntpd-1.3/src/jamlib/mbase.c:538:2: error: #error Unsupported platform [preprocessorErrorDirective] jamnntpd-1.3/src/jamlib/message.c:80:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] jamnntpd-1.3/src/jamlib/message.c:192:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] jamnntpd-1.3/src/jamlib/message.c:232:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] jamnntpd-1.3/src/jamlib/message.c:317:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] jamnntpd-1.3/src/jamlib/message.c:481:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] jamnntpd-1.3/src/jamlib/message.c:527:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] jamnntpd-1.3/src/jamlib/message.c:68:36: style:inconclusive: Function 'JAM_ReadMsgHeader' argument 1 names different: declaration 'Area_PS' definition 'Base_PS'. [funcArgNamesDifferent] jamnntpd-1.3/src/jamlib/jam.h:275:38: note: Function 'JAM_ReadMsgHeader' argument 1 names different: declaration 'Area_PS' definition 'Base_PS'. jamnntpd-1.3/src/jamlib/message.c:68:36: note: Function 'JAM_ReadMsgHeader' argument 1 names different: declaration 'Area_PS' definition 'Base_PS'. jamnntpd-1.3/src/jamlib/message.c:180:33: style:inconclusive: Function 'JAM_ReadMsgText' argument 1 names different: declaration 'Area_PS' definition 'Base_PS'. [funcArgNamesDifferent] jamnntpd-1.3/src/jamlib/jam.h:280:36: note: Function 'JAM_ReadMsgText' argument 1 names different: declaration 'Area_PS' definition 'Base_PS'. jamnntpd-1.3/src/jamlib/message.c:180:33: note: Function 'JAM_ReadMsgText' argument 1 names different: declaration 'Area_PS' definition 'Base_PS'. jamnntpd-1.3/src/jamlib/message.c:209:39: style:inconclusive: Function 'JAM_ChangeMsgHeader' argument 1 names different: declaration 'Area_PS' definition 'Base_PS'. [funcArgNamesDifferent] jamnntpd-1.3/src/jamlib/jam.h:296:40: note: Function 'JAM_ChangeMsgHeader' argument 1 names different: declaration 'Area_PS' definition 'Base_PS'. jamnntpd-1.3/src/jamlib/message.c:209:39: note: Function 'JAM_ChangeMsgHeader' argument 1 names different: declaration 'Area_PS' definition 'Base_PS'. jamnntpd-1.3/src/jamlib/message.c:283:34: style:inconclusive: Function 'JAM_AddMessage' argument 1 names different: declaration 'Area_PS' definition 'Base_PS'. [funcArgNamesDifferent] jamnntpd-1.3/src/jamlib/jam.h:285:35: note: Function 'JAM_AddMessage' argument 1 names different: declaration 'Area_PS' definition 'Base_PS'. jamnntpd-1.3/src/jamlib/message.c:283:34: note: Function 'JAM_AddMessage' argument 1 names different: declaration 'Area_PS' definition 'Base_PS'. jamnntpd-1.3/src/jamlib/message.c:469:39: style:inconclusive: Function 'JAM_AddEmptyMessage' argument 1 names different: declaration 'Area_PS' definition 'Base_PS'. [funcArgNamesDifferent] jamnntpd-1.3/src/jamlib/jam.h:291:40: note: Function 'JAM_AddEmptyMessage' argument 1 names different: declaration 'Area_PS' definition 'Base_PS'. jamnntpd-1.3/src/jamlib/message.c:469:39: note: Function 'JAM_AddEmptyMessage' argument 1 names different: declaration 'Area_PS' definition 'Base_PS'. jamnntpd-1.3/src/jamlib/message.c:601:27: style:inconclusive: Function 'JAM_Errno' argument 1 names different: declaration 'Area_PS' definition 'Base_PS'. [funcArgNamesDifferent] jamnntpd-1.3/src/jamlib/jam.h:302:31: note: Function 'JAM_Errno' argument 1 names different: declaration 'Area_PS' definition 'Base_PS'. jamnntpd-1.3/src/jamlib/message.c:601:27: note: Function 'JAM_Errno' argument 1 names different: declaration 'Area_PS' definition 'Base_PS'. jamnntpd-1.3/src/jamlib/message.c:115:14: style: Variable 'Roof_PC' can be declared as pointer to const [constVariablePointer] jamnntpd-1.3/src/jamlib/message.c:286:15: style: Parameter 'Text_PC' can be declared as pointer to const [constParameterPointer] jamnntpd-1.3/src/jamlib/message.c:601:27: style: Parameter 'Base_PS' can be declared as pointer to const [constParameterPointer] jamnntpd-1.3/src/jamlib/structrw.c:30:27: style: Parameter 'buf' can be declared as pointer to const [constParameterPointer] jamnntpd-1.3/src/jamlib/structrw.c:50:26: style: Parameter 'buf' can be declared as pointer to const [constParameterPointer] jamnntpd-1.3/src/jamlib/structrw.c:78:51: style: Parameter 's_JamBaseHeader' can be declared as pointer to const [constParameterPointer] jamnntpd-1.3/src/jamlib/structrw.c:130:49: style: Parameter 's_JamMsgHeader' can be declared as pointer to const [constParameterPointer] jamnntpd-1.3/src/jamlib/structrw.c:175:41: style: Parameter 's_JamIndex' can be declared as pointer to const [constParameterPointer] jamnntpd-1.3/src/jamlib/structrw.c:203:47: style: Parameter 's_JamLastRead' can be declared as pointer to const [constParameterPointer] jamnntpd-1.3/src/jamlib/structrw.c:218:55: style: Parameter 's_JamSaveSubfield' can be declared as pointer to const [constParameterPointer] jamnntpd-1.3/src/jamlib/subpack.c:121:24: warning: Possible null pointer dereference: LastPack_PS [nullPointer] jamnntpd-1.3/src/jamlib/subpack.c:113:42: note: Assignment 'LastPack_PS=NULL', assigned value is 0 jamnntpd-1.3/src/jamlib/subpack.c:116:10: note: Assuming condition is false jamnntpd-1.3/src/jamlib/subpack.c:121:24: note: Null pointer dereference jamnntpd-1.3/src/jamlib/subpack.c:146:65: style: Parameter 'Field_PS' can be declared as pointer to const [constParameterPointer] jamnntpd-1.3/src/login.c:13:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable FALSE [valueFlowBailoutIncompleteVar] jamnntpd-1.3/src/login.c:3:47: style: Parameter 'pass' can be declared as pointer to const [constParameterPointer] jamnntpd-1.3/src/main.c:383:67: error: There is an unknown macro here somewhere. Configuration is required. If CFG_BASEPATH is a macro then please configure it. [unknownMacro] jamnntpd-1.3/src/makechs.c:946:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] jamnntpd-1.3/src/makechs.c:1040:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] jamnntpd-1.3/src/makechs.c:978:13: portability: %ld in format string (no. 1) requires 'long' but the argument type is 'ulong {aka unsigned long}'. [invalidPrintfArgType_sint] jamnntpd-1.3/src/makechs.c:988:16: portability: %ld in format string (no. 1) requires 'long' but the argument type is 'ulong {aka unsigned long}'. [invalidPrintfArgType_sint] jamnntpd-1.3/src/makechs.c:1001:13: portability: %ld in format string (no. 1) requires 'long' but the argument type is 'ulong {aka unsigned long}'. [invalidPrintfArgType_sint] jamnntpd-1.3/src/makechs.c:902:35: style: Parameter 'src' can be declared as pointer to const [constParameterPointer] jamnntpd-1.3/src/makechs.c:937:35: style: Parameter 'filename' can be declared as pointer to const [constParameterPointer] jamnntpd-1.3/src/mime.c:384:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TRUE [valueFlowBailoutIncompleteVar] jamnntpd-1.3/src/mime.c:329:14: style: Condition 'data[c]' is always true [knownConditionTrueFalse] jamnntpd-1.3/src/mime.c:324:14: note: Assuming that condition 'data[c]' is not redundant jamnntpd-1.3/src/mime.c:326:16: note: Assuming condition is false jamnntpd-1.3/src/mime.c:329:14: note: Condition 'data[c]' is always true jamnntpd-1.3/src/mime.c:342:19: style: Condition 'data[c]' is always true [knownConditionTrueFalse] jamnntpd-1.3/src/mime.c:324:14: note: Assuming that condition 'data[c]' is not redundant jamnntpd-1.3/src/mime.c:326:16: note: Assuming condition is false jamnntpd-1.3/src/mime.c:342:19: note: Condition 'data[c]' is always true jamnntpd-1.3/src/mime.c:5:23: style: Parameter 'in' can be declared as pointer to const [constParameterPointer] jamnntpd-1.3/src/mime.c:7:11: style: Variable 'found' can be declared as pointer to const [constVariablePointer] jamnntpd-1.3/src/mime.c:7:18: style: Variable 'b64' can be declared as pointer to const [constVariablePointer] jamnntpd-1.3/src/mime.c:46:26: style: Parameter 'in' can be declared as pointer to const [constParameterPointer] jamnntpd-1.3/src/mime.c:49:11: style: Variable 'f1' can be declared as pointer to const [constVariablePointer] jamnntpd-1.3/src/mime.c:49:15: style: Variable 'f2' can be declared as pointer to const [constVariablePointer] jamnntpd-1.3/src/mime.c:50:11: style: Variable 'hex' can be declared as pointer to const [constVariablePointer] jamnntpd-1.3/src/mime.c:99:28: style: Parameter 'in' can be declared as pointer to const [constParameterPointer] jamnntpd-1.3/src/mime.c:102:11: style: Variable 'f1' can be declared as pointer to const [constVariablePointer] jamnntpd-1.3/src/mime.c:102:15: style: Variable 'f2' can be declared as pointer to const [constVariablePointer] jamnntpd-1.3/src/mime.c:103:11: style: Variable 'hex' can be declared as pointer to const [constVariablePointer] jamnntpd-1.3/src/mime.c:276:21: style: Parameter 'data' can be declared as pointer to const [constParameterPointer] jamnntpd-1.3/src/mime.c:276:45: style: Parameter 'specials' can be declared as pointer to const [constParameterPointer] jamnntpd-1.3/src/mime.c:315:22: style: Parameter 'data' can be declared as pointer to const [constParameterPointer] jamnntpd-1.3/src/mime.c:319:11: style: Variable 'b64' can be declared as pointer to const [constVariablePointer] jamnntpd-1.3/src/mime.c:373:58: style: Parameter 'keyword' can be declared as pointer to const [constParameterPointer] jamnntpd-1.3/src/mime.c:373:85: style: Parameter 'chrs' can be declared as pointer to const [constParameterPointer] jamnntpd-1.3/src/mime.c:373:97: style: Parameter 'fromaddr' can be declared as pointer to const [constParameterPointer] jamnntpd-1.3/src/mime.c:474:11: style: Variable 'd' is assigned a value that is never used. [unreadVariable] jamnntpd-1.3/src/misc.c:69:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TRUE [valueFlowBailoutIncompleteVar] jamnntpd-1.3/src/misc.c:87:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable FALSE [valueFlowBailoutIncompleteVar] jamnntpd-1.3/src/misc.c:132:29: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TRUE [valueFlowBailoutIncompleteVar] jamnntpd-1.3/src/misc.c:153:45: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TRUE [valueFlowBailoutIncompleteVar] jamnntpd-1.3/src/misc.c:163:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TRUE [valueFlowBailoutIncompleteVar] jamnntpd-1.3/src/misc.c:181:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TRUE [valueFlowBailoutIncompleteVar] jamnntpd-1.3/src/misc.c:199:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TRUE [valueFlowBailoutIncompleteVar] jamnntpd-1.3/src/misc.c:0:0: debug: ValueFlow maximum iterations exceeded [valueFlowMaxIterations] jamnntpd-1.3/src/misc.c:33:7: portability: Non reentrant function 'gmtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'gmtime_r'. [prohibitedgmtimeCalled] jamnntpd-1.3/src/misc.c:52:7: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] jamnntpd-1.3/src/misc.c:174:37: style:inconclusive: Function 'matchpattern' argument 2 names different: declaration 'ip' definition 'str'. [funcArgNamesDifferent] jamnntpd-1.3/src/misc.h:7:37: note: Function 'matchpattern' argument 2 names different: declaration 'ip' definition 'str'. jamnntpd-1.3/src/misc.c:174:37: note: Function 'matchpattern' argument 2 names different: declaration 'ip' definition 'str'. jamnntpd-1.3/src/misc.c:3:35: style: Parameter 'src' can be declared as pointer to const [constParameterPointer] jamnntpd-1.3/src/misc.c:27:11: style: Variable 'monthnames' can be declared as const array [constVariable] jamnntpd-1.3/src/misc.c:28:11: style: Variable 'daynames' can be declared as const array [constVariable] jamnntpd-1.3/src/misc.c:117:22: style: Parameter 'line' can be declared as pointer to const [constParameterPointer] jamnntpd-1.3/src/misc.c:174:37: style: Parameter 'str' can be declared as pointer to const [constParameterPointer] jamnntpd-1.3/src/misc.c:196:23: style: Parameter 'pat' can be declared as pointer to const [constParameterPointer] jamnntpd-1.3/src/nntpserv.c:2739:16: error: There is an unknown macro here somewhere. Configuration is required. If PLATFORM_NAME is a macro then please configure it. [unknownMacro] jamnntpd-1.3/src/os_linux.c:10:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TRUE [valueFlowBailoutIncompleteVar] jamnntpd-1.3/src/os_linux.c:17:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SIG_IGN [valueFlowBailoutIncompleteVar] jamnntpd-1.3/src/os_linux.c:44:36: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PTHREAD_CREATE_DETACHED [valueFlowBailoutIncompleteVar] jamnntpd-1.3/src/os_linux.c:116:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] jamnntpd-1.3/src/os_linux.c:73:7: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] jamnntpd-1.3/src/os_linux.c:67:15: style: Variable 'tp' can be declared as pointer to const [constVariablePointer] jamnntpd-1.3/src/os_linux.c:68:11: style: Variable 'monthnames' can be declared as const array [constVariable] jamnntpd-1.3/src/os_os2.c:19:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TRUE [valueFlowBailoutIncompleteVar] jamnntpd-1.3/src/os_os2.c:30:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable FALSE [valueFlowBailoutIncompleteVar] jamnntpd-1.3/src/os_os2.c:84:33: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable SEM_INDEFINITE_WAIT [valueFlowBailoutIncompleteVar] jamnntpd-1.3/src/os_os2.c:145:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] jamnntpd-1.3/src/os_os2.c:102:7: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] jamnntpd-1.3/src/os_os2.c:96:15: style: Variable 'tp' can be declared as pointer to const [constVariablePointer] jamnntpd-1.3/src/os_os2.c:97:11: style: Variable 'monthnames' can be declared as const array [constVariable] jamnntpd-1.3/src/os_os2.c:157:46: style: Parameter 'writefds' can be declared as pointer to const [constParameterPointer] jamnntpd-1.3/src/os_os2.c:157:63: style: Parameter 'exceptfds' can be declared as pointer to const [constParameterPointer] jamnntpd-1.3/src/os_os2.c:157:89: style: Parameter 'timeout' can be declared as pointer to const [constParameterPointer] jamnntpd-1.3/src/os_win32.c:10:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TRUE [valueFlowBailoutIncompleteVar] jamnntpd-1.3/src/os_win32.c:26:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable FALSE [valueFlowBailoutIncompleteVar] jamnntpd-1.3/src/os_win32.c:135:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable FORMAT_MESSAGE_FROM_SYSTEM [valueFlowBailoutIncompleteVar] jamnntpd-1.3/src/os_win32.c:85:7: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] jamnntpd-1.3/src/os_win32.c:79:15: style: Variable 'tp' can be declared as pointer to const [constVariablePointer] jamnntpd-1.3/src/os_win32.c:80:11: style: Variable 'monthnames' can be declared as const array [constVariable] jamnntpd-1.3/src/sockio.c:84:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TRUE [valueFlowBailoutIncompleteVar] jamnntpd-1.3/src/sockio.c:113:23: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TRUE [valueFlowBailoutIncompleteVar] jamnntpd-1.3/src/sockio.c:98:42: style: Parameter 'buf' can be declared as pointer to const [constParameterPointer] jamnntpd-1.3/src/xlat.c:43:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable FALSE [valueFlowBailoutIncompleteVar] jamnntpd-1.3/src/xlat.c:97:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable FALSE [valueFlowBailoutIncompleteVar] jamnntpd-1.3/src/xlat.c:142:35: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TRUE [valueFlowBailoutIncompleteVar] jamnntpd-1.3/src/xlat.c:288:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TRUE [valueFlowBailoutIncompleteVar] jamnntpd-1.3/src/xlat.c:418:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable FALSE [valueFlowBailoutIncompleteVar] jamnntpd-1.3/src/xlat.c:444:14: style: Variable 'res1' is assigned a value that is never used. [unreadVariable] diff: head jamnntpd-1.3/src/jamlib/mbase.c:538:2: error: #error Unsupported platform [preprocessorErrorDirective] DONE