2026-05-02 06:01 ftp://ftp.de.debian.org/debian/pool/main/g/gnarwl/gnarwl_3.6.dfsg.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-111-generic-x86_64-with-glibc2.39 python: 3.12.3 client-version: 1.3.70 compiler: g++ (Ubuntu 14.2.0-4ubuntu2~24.04.1) 14.2.0 cppcheck: head 2.20.0 head-info: e5c4a73 (2026-05-01 11:10:43 +0200) count: 55 51 elapsed-time: 0.4 0.3 head-timing-info: old-timing-info: head results: gnarwl-3.6/src/config.c:92:44: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LDAP_SCOPE_BASE [valueFlowBailoutIncompleteVar] gnarwl-3.6/src/config.c:187:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable UMASK [valueFlowBailoutIncompleteVar] gnarwl-3.6/src/config.c:219:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAXLINE [valueFlowBailoutIncompleteVar] gnarwl-3.6/src/config.c:229:58: style: Condition 'buf!=NULL' is always true [knownConditionTrueFalse] gnarwl-3.6/src/config.c:243:10: warning: If memory allocation fails, then there is a possible null pointer dereference: tmp [nullPointerOutOfMemory] gnarwl-3.6/src/config.c:241:21: note: Assuming allocation function fails gnarwl-3.6/src/config.c:241:7: note: Assignment 'tmp=(char**)calloc(sizeof(char**)*2+pos*sizeof(char**),sizeof(char**))', assigned value is 0 gnarwl-3.6/src/config.c:243:10: note: Null pointer dereference gnarwl-3.6/src/config.c:244:3: warning: If memory allocation fails, then there is a possible null pointer dereference: tmp [nullPointerOutOfMemory] gnarwl-3.6/src/config.c:241:21: note: Assuming allocation function fails gnarwl-3.6/src/config.c:241:7: note: Assignment 'tmp=(char**)calloc(sizeof(char**)*2+pos*sizeof(char**),sizeof(char**))', assigned value is 0 gnarwl-3.6/src/config.c:244:3: note: Null pointer dereference gnarwl-3.6/src/config.c:31:21: style:inconclusive: Function 'putEntry' argument 1 names different: declaration '' definition 'key'. [funcArgNamesDifferentUnnamed] gnarwl-3.6/src/config.c:31:32: style:inconclusive: Function 'putEntry' argument 2 names different: declaration '' definition 'val'. [funcArgNamesDifferentUnnamed] gnarwl-3.6/src/config.c:217:21: style:inconclusive: Function 'readConf' argument 1 names different: declaration '' definition 'cfile'. [funcArgNamesDifferentUnnamed] gnarwl-3.6/src/damnit.c:28:61: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable VERSION [valueFlowBailoutIncompleteVar] gnarwl-3.6/src/damnit.c:72:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GDBM_READER [valueFlowBailoutIncompleteVar] gnarwl-3.6/src/damnit.c:100:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GDBM_WRCREAT [valueFlowBailoutIncompleteVar] gnarwl-3.6/src/damnit.c:129:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GDBM_WRITER [valueFlowBailoutIncompleteVar] gnarwl-3.6/src/damnit.c:155:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAXLINE [valueFlowBailoutIncompleteVar] gnarwl-3.6/src/dbaccess.c:68:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TRUE [valueFlowBailoutIncompleteVar] gnarwl-3.6/src/dbaccess.c:115:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GDBM_WRITER [valueFlowBailoutIncompleteVar] gnarwl-3.6/src/dbaccess.c:146:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GDBM_READER [valueFlowBailoutIncompleteVar] gnarwl-3.6/src/dbaccess.c:169:50: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable FALSE [valueFlowBailoutIncompleteVar] gnarwl-3.6/src/dbaccess.c:182:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOG_MAIL [valueFlowBailoutIncompleteVar] gnarwl-3.6/src/dbaccess.c:220:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LDAPQUERY_MAXWAIT [valueFlowBailoutIncompleteVar] gnarwl-3.6/src/dbaccess.c:72:10: warning: If memory allocation fails, then there is a possible null pointer dereference: fname [nullPointerOutOfMemory] gnarwl-3.6/src/dbaccess.c:70:22: note: Assuming allocation function fails gnarwl-3.6/src/dbaccess.c:70:9: note: Assignment 'fname=(char*)calloc(strlen(me)+strlen(cfg.dbdir)+5,sizeof(char))', assigned value is 0 gnarwl-3.6/src/dbaccess.c:72:10: note: Null pointer dereference gnarwl-3.6/src/dbaccess.c:73:7: warning: If memory allocation fails, then there is a possible null pointer dereference: fname [nullPointerOutOfMemory] gnarwl-3.6/src/dbaccess.c:70:22: note: Assuming allocation function fails gnarwl-3.6/src/dbaccess.c:70:9: note: Assignment 'fname=(char*)calloc(strlen(me)+strlen(cfg.dbdir)+5,sizeof(char))', assigned value is 0 gnarwl-3.6/src/dbaccess.c:73:7: note: Null pointer dereference gnarwl-3.6/src/dbaccess.c:73:20: warning: If memory allocation fails, then there is a possible null pointer dereference: fname [nullPointerOutOfMemory] gnarwl-3.6/src/dbaccess.c:70:22: note: Assuming allocation function fails gnarwl-3.6/src/dbaccess.c:70:9: note: Assignment 'fname=(char*)calloc(strlen(me)+strlen(cfg.dbdir)+5,sizeof(char))', assigned value is 0 gnarwl-3.6/src/dbaccess.c:73:20: note: Null pointer dereference gnarwl-3.6/src/dbaccess.c:74:10: warning: If memory allocation fails, then there is a possible null pointer dereference: fname [nullPointerOutOfMemory] gnarwl-3.6/src/dbaccess.c:70:22: note: Assuming allocation function fails gnarwl-3.6/src/dbaccess.c:70:9: note: Assignment 'fname=(char*)calloc(strlen(me)+strlen(cfg.dbdir)+5,sizeof(char))', assigned value is 0 gnarwl-3.6/src/dbaccess.c:74:10: note: Null pointer dereference gnarwl-3.6/src/dbaccess.c:111:10: warning: If memory allocation fails, then there is a possible null pointer dereference: fname [nullPointerOutOfMemory] gnarwl-3.6/src/dbaccess.c:109:22: note: Assuming allocation function fails gnarwl-3.6/src/dbaccess.c:109:9: note: Assignment 'fname=(char*)calloc(strlen(me)+strlen(cfg.dbdir)+5,sizeof(char))', assigned value is 0 gnarwl-3.6/src/dbaccess.c:111:10: note: Null pointer dereference gnarwl-3.6/src/dbaccess.c:112:7: warning: If memory allocation fails, then there is a possible null pointer dereference: fname [nullPointerOutOfMemory] gnarwl-3.6/src/dbaccess.c:109:22: note: Assuming allocation function fails gnarwl-3.6/src/dbaccess.c:109:9: note: Assignment 'fname=(char*)calloc(strlen(me)+strlen(cfg.dbdir)+5,sizeof(char))', assigned value is 0 gnarwl-3.6/src/dbaccess.c:112:7: note: Null pointer dereference gnarwl-3.6/src/dbaccess.c:112:20: warning: If memory allocation fails, then there is a possible null pointer dereference: fname [nullPointerOutOfMemory] gnarwl-3.6/src/dbaccess.c:109:22: note: Assuming allocation function fails gnarwl-3.6/src/dbaccess.c:109:9: note: Assignment 'fname=(char*)calloc(strlen(me)+strlen(cfg.dbdir)+5,sizeof(char))', assigned value is 0 gnarwl-3.6/src/dbaccess.c:112:20: note: Null pointer dereference gnarwl-3.6/src/dbaccess.c:113:10: warning: If memory allocation fails, then there is a possible null pointer dereference: fname [nullPointerOutOfMemory] gnarwl-3.6/src/dbaccess.c:109:22: note: Assuming allocation function fails gnarwl-3.6/src/dbaccess.c:109:9: note: Assignment 'fname=(char*)calloc(strlen(me)+strlen(cfg.dbdir)+5,sizeof(char))', assigned value is 0 gnarwl-3.6/src/dbaccess.c:113:10: note: Null pointer dereference gnarwl-3.6/src/dbaccess.c:60:31: style: Parameter 'me' can be declared as pointer to const [constParameterPointer] gnarwl-3.6/src/dbaccess.c:163:10: style: Variable 'dbf_ptr' is assigned a value that is never used. [unreadVariable] gnarwl-3.6/src/gnarwl.c:63:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable CFGFILE [valueFlowBailoutIncompleteVar] gnarwl-3.6/src/gnarwl.c:60:17: style: Local variable 'receivers' shadows outer variable [shadowVariable] gnarwl-3.6/src/mailhandler.h:74:8: note: Shadowed declaration gnarwl-3.6/src/gnarwl.c:60:17: note: Shadow variable gnarwl-3.6/src/mailhandler.c:132:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAXLINE [valueFlowBailoutIncompleteVar] gnarwl-3.6/src/mailhandler.c:179:30: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GDBM_READER [valueFlowBailoutIncompleteVar] gnarwl-3.6/src/mailhandler.c:227:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOG_MAIL [valueFlowBailoutIncompleteVar] gnarwl-3.6/src/mailhandler.c:147:16: warning: Either the condition 'bbuf==NULL' is redundant or there is possible null pointer dereference: bbuf. [nullPointerRedundantCheck] gnarwl-3.6/src/mailhandler.c:146:17: note: Assuming that condition 'bbuf==NULL' is not redundant gnarwl-3.6/src/mailhandler.c:147:16: note: Null pointer dereference gnarwl-3.6/src/mailhandler.c:244:12: warning: If memory allocation fails, then there is a possible null pointer dereference: tmp [nullPointerOutOfMemory] gnarwl-3.6/src/mailhandler.c:242:22: note: Assuming allocation function fails gnarwl-3.6/src/mailhandler.c:242:9: note: Assignment 'tmp=(char*)calloc(strlen(cfg.mta)+strlen(cfg.mta_opts)+4,sizeof(char))', assigned value is 0 gnarwl-3.6/src/mailhandler.c:244:12: note: Null pointer dereference gnarwl-3.6/src/mailhandler.c:245:5: warning: If memory allocation fails, then there is a possible null pointer dereference: tmp [nullPointerOutOfMemory] gnarwl-3.6/src/mailhandler.c:242:22: note: Assuming allocation function fails gnarwl-3.6/src/mailhandler.c:242:9: note: Assignment 'tmp=(char*)calloc(strlen(cfg.mta)+strlen(cfg.mta_opts)+4,sizeof(char))', assigned value is 0 gnarwl-3.6/src/mailhandler.c:245:5: note: Null pointer dereference gnarwl-3.6/src/mailhandler.c:246:12: warning: If memory allocation fails, then there is a possible null pointer dereference: tmp [nullPointerOutOfMemory] gnarwl-3.6/src/mailhandler.c:242:22: note: Assuming allocation function fails gnarwl-3.6/src/mailhandler.c:242:9: note: Assignment 'tmp=(char*)calloc(strlen(cfg.mta)+strlen(cfg.mta_opts)+4,sizeof(char))', assigned value is 0 gnarwl-3.6/src/mailhandler.c:246:12: note: Null pointer dereference gnarwl-3.6/src/mailhandler.c:257:11: warning: If resource allocation fails, then there is a possible null pointer dereference: desc [nullPointerOutOfResources] gnarwl-3.6/src/mailhandler.c:256:14: note: Assuming allocation function fails gnarwl-3.6/src/mailhandler.c:256:14: note: Assignment 'desc=fdopen(p[1],"w")', assigned value is 0 gnarwl-3.6/src/mailhandler.c:257:11: note: Null pointer dereference gnarwl-3.6/src/mailhandler.c:258:10: warning: If resource allocation fails, then there is a possible null pointer dereference: desc [nullPointerOutOfResources] gnarwl-3.6/src/mailhandler.c:256:14: note: Assuming allocation function fails gnarwl-3.6/src/mailhandler.c:256:14: note: Assignment 'desc=fdopen(p[1],"w")', assigned value is 0 gnarwl-3.6/src/mailhandler.c:258:10: note: Null pointer dereference gnarwl-3.6/src/mailhandler.c:220:33: style: Parameter 'body' can be declared as pointer to const [constParameterPointer] gnarwl-3.6/src/util.c:72:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOG_MAIL [valueFlowBailoutIncompleteVar] gnarwl-3.6/src/util.c:121:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDONLY [valueFlowBailoutIncompleteVar] gnarwl-3.6/src/util.c:87:14: style: Array index 'x' is used before limits check. [arrayIndexThenCheck] gnarwl-3.6/src/util.c:88:14: style: Array index 'x' is used before limits check. [arrayIndexThenCheck] gnarwl-3.6/src/util.c:101:14: style: Array index 'x' is used before limits check. [arrayIndexThenCheck] gnarwl-3.6/src/util.c:104:14: style: Array index 'x' is used before limits check. [arrayIndexThenCheck] gnarwl-3.6/src/util.c:129:5: error: Resource leak: fd [resourceLeak] gnarwl-3.6/src/util.c:137:5: error: Memory leak: buf [memleak] gnarwl-3.6/src/util.c:78:32: style:inconclusive: Function 'splitString' argument 1 names different: declaration '' definition 'str'. [funcArgNamesDifferentUnnamed] gnarwl-3.6/src/util.c:176:20: style:inconclusive: Function 'cpyStr' argument 1 names different: declaration 'des' definition 'dest'. [funcArgNamesDifferent] gnarwl-3.6/src/util.h:50:20: note: Function 'cpyStr' argument 1 names different: declaration 'des' definition 'dest'. gnarwl-3.6/src/util.c:176:20: note: Function 'cpyStr' argument 1 names different: declaration 'des' definition 'dest'. gnarwl-3.6/src/util.c:28:35: style: Parameter 's' can be declared as pointer to const [constParameterPointer] gnarwl-3.6/src/util.c:28:43: style: Parameter 'r' can be declared as pointer to const [constParameterPointer] gnarwl-3.6/src/util.c:80:8: style: Variable 'y' is assigned a value that is never used. [unreadVariable] diff: head gnarwl-3.6/src/config.c:217:21: style:inconclusive: Function 'readConf' argument 1 names different: declaration '' definition 'cfile'. [funcArgNamesDifferentUnnamed] head gnarwl-3.6/src/config.c:31:21: style:inconclusive: Function 'putEntry' argument 1 names different: declaration '' definition 'key'. [funcArgNamesDifferentUnnamed] head gnarwl-3.6/src/config.c:31:32: style:inconclusive: Function 'putEntry' argument 2 names different: declaration '' definition 'val'. [funcArgNamesDifferentUnnamed] head gnarwl-3.6/src/util.c:78:32: style:inconclusive: Function 'splitString' argument 1 names different: declaration '' definition 'str'. [funcArgNamesDifferentUnnamed] DONE