2026-07-26 22:35 ftp://ftp.de.debian.org/debian/pool/main/d/dirb/dirb_2.22+dfsg.orig.tar.gz cppcheck-options: --library=posix --library=gnu --library=bsd --library=libcurl --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 -j96 platform: Linux-6.8.0-111-generic-x86_64-with-glibc2.39 python: 3.12.3 client-version: 1.4.0 compiler: g++ (Ubuntu 13.3.0-6ubuntu2~24.04.1) 13.3.0 cppcheck: head 2.21.0 head-info: 6640862 (2026-07-26 07:32:28 -0400) count: 74 74 elapsed-time: 0.3 0.1 head-timing-info: old-timing-info: head results: dirb-2.22/src/dirb.c:228:18: error: There is an unknown macro here somewhere. Configuration is required. If VERSION is a macro then please configure it. [unknownMacro] dirb-2.22/src/options.c:31:30: error: There is an unknown macro here somewhere. Configuration is required. If VERSION is a macro then please configure it. [unknownMacro] dirb-2.22/src/calculanec.c:24:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] dirb-2.22/src/resume.c:32:98: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] dirb-2.22/src/resume.c:200:35: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] dirb-2.22/src/crea_wordlist.c:33:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] dirb-2.22/src/get_url.c:52:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable CURLOPT_URL [valueFlowBailoutIncompleteVar] dirb-2.22/src/resume.c:30:9: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] dirb-2.22/src/resume.c:32:76: style: Obsolete function 'asctime' called. It is recommended to use 'strftime' instead. [prohibitedasctimeCalled] dirb-2.22/src/resume.c:194:31: error: Memory leak: path [memleak] dirb-2.22/src/resume.c:19:17: style: Variable 'current' can be declared as pointer to const [constVariablePointer] dirb-2.22/src/resume.c:21:14: style: Variable 'ptr' can be declared as pointer to const [constVariablePointer] dirb-2.22/src/resume.c:23:9: style: Variable 'home' can be declared as pointer to const [constVariablePointer] dirb-2.22/src/resume.c:101:9: style: Variable 'home' can be declared as pointer to const [constVariablePointer] dirb-2.22/src/resume.c:185:13: style: Variable 'r' can be declared as pointer to const [constVariablePointer] dirb-2.22/src/utils.c:276:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ICANON [valueFlowBailoutIncompleteVar] dirb-2.22/gendict_src/gendict.c:56:16: style: Parameter 'old_prefix' can be declared as pointer to const [constParameterPointer] dirb-2.22/gendict_src/gendict.c:78:19: style: Parameter 'progname' can be declared as pointer to const [constParameterPointer] dirb-2.22/src/crea_wordlist.c:28:10: warning: If memory allocation fails, then there is a possible null pointer dereference: current [nullPointerOutOfMemory] dirb-2.22/src/crea_wordlist.c:27:33: note: Assuming allocation function fails dirb-2.22/src/crea_wordlist.c:27:11: note: Assignment 'current=(struct words*)malloc(sizeof(struct words))', assigned value is 0 dirb-2.22/src/crea_wordlist.c:28:10: note: Null pointer dereference dirb-2.22/src/crea_wordlist.c:130:10: warning: If memory allocation fails, then there is a possible null pointer dereference: ecurrent [nullPointerOutOfMemory] dirb-2.22/src/crea_wordlist.c:129:34: note: Assuming allocation function fails dirb-2.22/src/crea_wordlist.c:129:12: note: Assignment 'ecurrent=(struct words*)malloc(sizeof(struct words))', assigned value is 0 dirb-2.22/src/crea_wordlist.c:130:10: note: Null pointer dereference dirb-2.22/src/crea_wordlist.c:164:12: warning: If memory allocation fails, then there is a possible null pointer dereference: ecurrent [nullPointerOutOfMemory] dirb-2.22/src/crea_wordlist.c:162:47: note: Assuming allocation function fails dirb-2.22/src/crea_wordlist.c:162:25: note: Assignment 'ecurrent->siguiente=(struct words*)malloc(sizeof(struct words))', assigned value is 0 dirb-2.22/src/crea_wordlist.c:163:22: note: Assignment 'ecurrent=ecurrent->siguiente', assigned value is 0 dirb-2.22/src/crea_wordlist.c:164:12: note: Null pointer dereference dirb-2.22/src/crea_wordlist.c:200:10: warning: If memory allocation fails, then there is a possible null pointer dereference: ecurrent [nullPointerOutOfMemory] dirb-2.22/src/crea_wordlist.c:199:34: note: Assuming allocation function fails dirb-2.22/src/crea_wordlist.c:199:12: note: Assignment 'ecurrent=(struct words*)malloc(sizeof(struct words))', assigned value is 0 dirb-2.22/src/crea_wordlist.c:200:10: note: Null pointer dereference dirb-2.22/src/crea_wordlist.c:225:12: warning: If memory allocation fails, then there is a possible null pointer dereference: ecurrent [nullPointerOutOfMemory] dirb-2.22/src/crea_wordlist.c:223:47: note: Assuming allocation function fails dirb-2.22/src/crea_wordlist.c:223:25: note: Assignment 'ecurrent->siguiente=(struct words*)malloc(sizeof(struct words))', assigned value is 0 dirb-2.22/src/crea_wordlist.c:224:22: note: Assignment 'ecurrent=ecurrent->siguiente', assigned value is 0 dirb-2.22/src/crea_wordlist.c:225:12: note: Null pointer dereference dirb-2.22/src/crea_wordlist.c:233:9: warning: If memory allocation fails, then there is a possible null pointer dereference: ecurrent [nullPointerOutOfMemory] dirb-2.22/src/crea_wordlist.c:199:34: note: Assuming allocation function fails dirb-2.22/src/crea_wordlist.c:199:12: note: Assignment 'ecurrent=(struct words*)malloc(sizeof(struct words))', assigned value is 0 dirb-2.22/src/crea_wordlist.c:202:9: note: Assignment 'ebase=ecurrent', assigned value is 0 dirb-2.22/src/crea_wordlist.c:231:12: note: Assignment 'ecurrent=ebase', assigned value is 0 dirb-2.22/src/crea_wordlist.c:233:9: note: Null pointer dereference dirb-2.22/src/crea_wordlist.c:120:40: style: Parameter 'fichero' can be declared as pointer to const [constParameterPointer] dirb-2.22/src/crea_wordlist.c:249:17: style: Variable 'ptr' can be declared as pointer to const [constVariablePointer] dirb-2.22/src/calculanec.c:78:10: warning: If memory allocation fails, then there is a possible null pointer dereference: mynec [nullPointerOutOfMemory] dirb-2.22/src/calculanec.c:77:15: note: Assuming allocation function fails dirb-2.22/src/calculanec.c:77:15: note: Assignment 'mynec=malloc(sizeof(struct result))', assigned value is 0 dirb-2.22/src/calculanec.c:78:10: note: Null pointer dereference dirb-2.22/src/calculanec.c:17:20: style: Parameter 'direccion' can be declared as pointer to const [constParameterPointer] dirb-2.22/src/calculanec.c:68:34: style: Parameter 'direccion' can be declared as pointer to const [constParameterPointer] dirb-2.22/src/get_url.c:167:59: portability: 'ptr' is of type 'void *'. When using void pointers in calculations, the behaviour is undefined. [arithOperationsOnVoidPointer] dirb-2.22/src/get_url.c:168:9: portability: 'ptr' is of type 'void *'. When using void pointers in calculations, the behaviour is undefined. [arithOperationsOnVoidPointer] dirb-2.22/src/get_url.c:178:34: portability: 'ptr' is of type 'void *'. When using void pointers in calculations, the behaviour is undefined. [arithOperationsOnVoidPointer] dirb-2.22/src/get_url.c:191:23: portability: 'ptr' is of type 'void *'. When using void pointers in calculations, the behaviour is undefined. [arithOperationsOnVoidPointer] dirb-2.22/src/get_url.c:235:26: portability: 'ptr' is of type 'void *'. When using void pointers in calculations, the behaviour is undefined. [arithOperationsOnVoidPointer] dirb-2.22/web2dic/html2dic.c:79:46: error: Invalid putchar() argument nr 1. The value is -15 but the valid values are '0:'. [invalidFunctionArg] dirb-2.22/web2dic/html2dic.c:80:46: error: Invalid putchar() argument nr 1. The value is -31 but the valid values are '0:'. [invalidFunctionArg] dirb-2.22/web2dic/html2dic.c:81:46: error: Invalid putchar() argument nr 1. The value is -23 but the valid values are '0:'. [invalidFunctionArg] dirb-2.22/web2dic/html2dic.c:82:46: error: Invalid putchar() argument nr 1. The value is -19 but the valid values are '0:'. [invalidFunctionArg] dirb-2.22/web2dic/html2dic.c:83:46: error: Invalid putchar() argument nr 1. The value is -13 but the valid values are '0:'. [invalidFunctionArg] dirb-2.22/web2dic/html2dic.c:84:46: error: Invalid putchar() argument nr 1. The value is -6 but the valid values are '0:'. [invalidFunctionArg] dirb-2.22/web2dic/html2dic.c:85:46: error: Invalid putchar() argument nr 1. The value is -63 but the valid values are '0:'. [invalidFunctionArg] dirb-2.22/web2dic/html2dic.c:86:46: error: Invalid putchar() argument nr 1. The value is -55 but the valid values are '0:'. [invalidFunctionArg] dirb-2.22/web2dic/html2dic.c:87:46: error: Invalid putchar() argument nr 1. The value is -51 but the valid values are '0:'. [invalidFunctionArg] dirb-2.22/web2dic/html2dic.c:88:46: error: Invalid putchar() argument nr 1. The value is -45 but the valid values are '0:'. [invalidFunctionArg] dirb-2.22/web2dic/html2dic.c:89:46: error: Invalid putchar() argument nr 1. The value is -38 but the valid values are '0:'. [invalidFunctionArg] dirb-2.22/web2dic/html2dic.c:36:8: style: A pointer can not be negative so it is either pointless or an error to check if it is. [pointerLessThanZero] dirb-2.22/src/lanza_ataque.c:34:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TIOCGWINSZ [valueFlowBailoutIncompleteVar] dirb-2.22/src/utils.c:308:9: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] dirb-2.22/src/utils.c:313:3: style: Obsolete function 'asctime' called. It is recommended to use 'strftime' instead. [prohibitedasctimeCalled] dirb-2.22/src/utils.c:158:26: portability: %d in format string (no. 1) requires 'int' but the argument type is 'size_t {aka unsigned long}'. [invalidPrintfArgType_sint] dirb-2.22/src/utils.c:169:26: portability: %d in format string (no. 1) requires 'int' but the argument type is 'size_t {aka unsigned long}'. [invalidPrintfArgType_sint] dirb-2.22/src/utils.c:173:26: portability: %d in format string (no. 2) requires 'int' but the argument type is 'size_t {aka unsigned long}'. [invalidPrintfArgType_sint] dirb-2.22/src/utils.c:390:9: warning: %x in format string (no. 1) requires 'unsigned int *' but the argument type is 'signed int *'. [invalidScanfArgType_int] dirb-2.22/src/utils.c:158:83: error: Allocation with uri_decode, printf doesn't release it. [leakNoVarFunctionCall] dirb-2.22/src/utils.c:169:83: error: Allocation with uri_decode, printf doesn't release it. [leakNoVarFunctionCall] dirb-2.22/src/utils.c:171:18: error: Allocation with uri_decode, strncmp doesn't release it. [leakNoVarFunctionCall] dirb-2.22/src/utils.c:171:33: error: Allocation with uri_decode, strncmp doesn't release it. [leakNoVarFunctionCall] dirb-2.22/src/utils.c:352:12: warning: If memory allocation fails, then there is a possible null pointer dereference: exts_current [nullPointerOutOfMemory] dirb-2.22/src/utils.c:351:40: note: Assuming allocation function fails dirb-2.22/src/utils.c:351:18: note: Assignment 'exts_current=(struct words*)malloc(sizeof(struct words))', assigned value is 0 dirb-2.22/src/utils.c:352:12: note: Null pointer dereference dirb-2.22/src/utils.c:355:13: warning: If memory allocation fails, then there is a possible null pointer dereference: exts_current [nullPointerOutOfMemory] dirb-2.22/src/utils.c:351:40: note: Assuming allocation function fails dirb-2.22/src/utils.c:351:18: note: Assignment 'exts_current=(struct words*)malloc(sizeof(struct words))', assigned value is 0 dirb-2.22/src/utils.c:355:13: note: Null pointer dereference dirb-2.22/src/utils.c:357:5: warning: If memory allocation fails, then there is a possible null pointer dereference: exts_current [nullPointerOutOfMemory] dirb-2.22/src/utils.c:351:40: note: Assuming allocation function fails dirb-2.22/src/utils.c:351:18: note: Assignment 'exts_current=(struct words*)malloc(sizeof(struct words))', assigned value is 0 dirb-2.22/src/utils.c:357:5: note: Null pointer dereference dirb-2.22/src/utils.c:358:12: warning: If memory allocation fails, then there is a possible null pointer dereference: exts_current [nullPointerOutOfMemory] dirb-2.22/src/utils.c:351:40: note: Assuming allocation function fails dirb-2.22/src/utils.c:351:18: note: Assignment 'exts_current=(struct words*)malloc(sizeof(struct words))', assigned value is 0 dirb-2.22/src/utils.c:358:12: note: Null pointer dereference dirb-2.22/src/utils.c:359:18: warning: If memory allocation fails, then there is a possible null pointer dereference: exts_current [nullPointerOutOfMemory] dirb-2.22/src/utils.c:351:40: note: Assuming allocation function fails dirb-2.22/src/utils.c:351:18: note: Assignment 'exts_current=(struct words*)malloc(sizeof(struct words))', assigned value is 0 dirb-2.22/src/utils.c:359:18: note: Null pointer dereference dirb-2.22/src/utils.c:50:22: style: Parameter 'direccion' can be declared as pointer to const [constParameterPointer] dirb-2.22/src/utils.c:120:24: style: Parameter 'file' can be declared as pointer to const [constParameterPointer] dirb-2.22/src/utils.c:186:17: style: Variable 'ptr2' can be declared as pointer to const [constVariablePointer] dirb-2.22/src/utils.c:234:22: style: Parameter 'url' can be declared as pointer to const [constParameterPointer] dirb-2.22/src/utils.c:304:14: style: Variable 'ptr' can be declared as pointer to const [constVariablePointer] dirb-2.22/src/utils.c:415:23: style: Parameter 'A' can be declared as pointer to const [constParameterPointer] dirb-2.22/src/utils.c:415:32: style: Parameter 'B' can be declared as pointer to const [constParameterPointer] dirb-2.22/src/utils.c:147:12: style: Variable 'ptr' is assigned a value that is never used. [unreadVariable] dirb-2.22/src/utils.c:186:21: style: Variable 'ptr2' is assigned a value that is never used. [unreadVariable] dirb-2.22/src/lanza_ataque.c:191:23: style: Obsolescent function 'usleep' called. It is recommended to use 'nanosleep' or 'setitimer' instead. [prohibitedusleepCalled] dirb-2.22/src/lanza_ataque.c:17:25: style:inconclusive: Function 'lanza_ataque' argument 1 names different: declaration 'url_base' definition 'inicio'. [funcArgNamesDifferent] dirb-2.22/src/funciones.h:20:25: note: Function 'lanza_ataque' argument 1 names different: declaration 'url_base' definition 'inicio'. dirb-2.22/src/lanza_ataque.c:17:25: note: Function 'lanza_ataque' argument 1 names different: declaration 'url_base' definition 'inicio'. dirb-2.22/src/lanza_ataque.c:17:25: style: Parameter 'inicio' can be declared as pointer to const [constParameterPointer] diff: DONE