2026-05-02 12:55 ftp://ftp.de.debian.org/debian/pool/main/h/httptunnel/httptunnel_3.3+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-1047-aws-aarch64-with-glibc2.35 python: 3.10.12 client-version: 1.4.0 compiler: g++ (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0 cppcheck: head 2.20.0 head-info: e5c4a73 (2026-05-01 11:10:43 +0200) count: 72 53 elapsed-time: 0.7 0.6 head-timing-info: old-timing-info: head results: httptunnel-3.3/common.h:75:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable F_GETFL [valueFlowBailoutIncompleteVar] httptunnel-3.3/common.h:120:8: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] httptunnel-3.3/common.h:140:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable sockaddr_in [valueFlowBailoutIncompleteVar] httptunnel-3.3/common.h:159:33: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] httptunnel-3.3/common.h:131:33: style: Parameter 'address' can be declared as pointer to const [constParameterPointer] httptunnel-3.3/base64.c:58:8: error: Memory is allocated but not initialized: buf [uninitdata] httptunnel-3.3/common.c:66:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOG_NOTICE [valueFlowBailoutIncompleteVar] httptunnel-3.3/common.c:79:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable LOG_ERROR [valueFlowBailoutIncompleteVar] httptunnel-3.3/common.c:131:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] httptunnel-3.3/common.c:164:25: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable PF_INET [valueFlowBailoutIncompleteVar] httptunnel-3.3/common.c:197:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDWR [valueFlowBailoutIncompleteVar] httptunnel-3.3/common.c:254:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable POLLIN [valueFlowBailoutIncompleteVar] httptunnel-3.3/common.c:297:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable POLLIN [valueFlowBailoutIncompleteVar] httptunnel-3.3/common.c:342:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] httptunnel-3.3/common.c:364:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] httptunnel-3.3/common.c:174:13: style: Obsolescent function 'gethostbyname' called. It is recommended to use 'getaddrinfo' instead. [prohibitedgethostbynameCalled] httptunnel-3.3/common.c:206:2: error: Resource leak: fd [resourceLeak] httptunnel-3.3/common.c:212:5: error: Resource leak: fd [resourceLeak] httptunnel-3.3/common.c:358:19: warning: If memory allocation fails, then there is a possible null pointer dereference: s [nullPointerOutOfMemory] httptunnel-3.3/common.c:357:20: note: Assuming allocation function fails httptunnel-3.3/common.c:357:20: note: Assignment 's=strdup(s_)', assigned value is 0 httptunnel-3.3/common.c:358:19: note: Null pointer dereference httptunnel-3.3/common.c:192:20: style: Parameter 'device' can be declared as pointer to const [constParameterPointer] httptunnel-3.3/htc.c:140:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable no_argument [valueFlowBailoutIncompleteVar] httptunnel-3.3/htc.c:444:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable INADDR_ANY [valueFlowBailoutIncompleteVar] httptunnel-3.3/htc.c:565:16: warning: If memory allocation fails, then there is a possible null pointer dereference: str [nullPointerOutOfMemory] httptunnel-3.3/htc.c:556:27: note: Assuming allocation function fails httptunnel-3.3/htc.c:556:27: note: Assignment 'str=malloc(len+7)', assigned value is 0 httptunnel-3.3/htc.c:565:16: note: Null pointer dereference httptunnel-3.3/htc.c:566:16: warning: If memory allocation fails, then there is a possible null pointer dereference: str [nullPointerOutOfMemory] httptunnel-3.3/htc.c:556:27: note: Assuming allocation function fails httptunnel-3.3/htc.c:556:27: note: Assignment 'str=malloc(len+7)', assigned value is 0 httptunnel-3.3/htc.c:566:16: note: Null pointer dereference httptunnel-3.3/htc.c:138:28: style: Variable 'long_options' can be declared as const array [constVariable] httptunnel-3.3/hts.c:102:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable no_argument [valueFlowBailoutIncompleteVar] httptunnel-3.3/hts.c:321:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] httptunnel-3.3/hts.c:100:28: style: Variable 'long_options' can be declared as const array [constVariable] httptunnel-3.3/http.c:95:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] httptunnel-3.3/http.c:232:53: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] httptunnel-3.3/http.c:763:67: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] httptunnel-3.3/http.c:761:9: style: Condition 'm==-1' is always false [knownConditionTrueFalse] httptunnel-3.3/http.c:769:9: style: Condition 'm==-1' is always false [knownConditionTrueFalse] httptunnel-3.3/http.c:45:7: portability: %d in format string (no. 1) requires 'int' but the argument type is 'ssize_t {aka signed long}'. [invalidPrintfArgType_sint] httptunnel-3.3/http.c:319:3: error: Common realloc mistake: 'data' nulled but not freed upon failure [memleakOnRealloc] httptunnel-3.3/http.c:265:7: error: Memory leak: header.name [memleak] httptunnel-3.3/http.c:265:7: error: Memory leak: header.value [memleak] httptunnel-3.3/http.c:257:26: warning: Either the condition 'name==NULL' is redundant or there is possible null pointer dereference: name. [nullPointerRedundantCheck] httptunnel-3.3/http.c:259:12: note: Assuming that condition 'name==NULL' is not redundant httptunnel-3.3/http.c:257:26: note: Null pointer dereference httptunnel-3.3/http.c:258:27: warning: Either the condition 'value==NULL' is redundant or there is possible null pointer dereference: value. [nullPointerRedundantCheck] httptunnel-3.3/http.c:259:29: note: Assuming that condition 'value==NULL' is not redundant httptunnel-3.3/http.c:258:27: note: Null pointer dereference httptunnel-3.3/http.c:692:7: style: Variable 'len' is reassigned a value before the old one has been used. [redundantAssignment] httptunnel-3.3/http.c:675:7: note: len is assigned httptunnel-3.3/http.c:692:7: note: len is overwritten httptunnel-3.3/http.c:77:50: style:inconclusive: Function 'http_put' argument 3 names different: declaration 'content_length' definition 'length'. [funcArgNamesDifferent] httptunnel-3.3/http.h:60:12: note: Function 'http_put' argument 3 names different: declaration 'content_length' definition 'length'. httptunnel-3.3/http.c:77:50: note: Function 'http_put' argument 3 names different: declaration 'content_length' definition 'length'. httptunnel-3.3/http.c:83:51: style:inconclusive: Function 'http_post' argument 3 names different: declaration 'content_length' definition 'length'. [funcArgNamesDifferent] httptunnel-3.3/http.h:62:13: note: Function 'http_post' argument 3 names different: declaration 'content_length' definition 'length'. httptunnel-3.3/http.c:83:51: note: Function 'http_post' argument 3 names different: declaration 'content_length' definition 'length'. httptunnel-3.3/http.c:461:46: style:inconclusive: Function 'http_parse_response' argument 2 names different: declaration 'response' definition 'response_'. [funcArgNamesDifferent] httptunnel-3.3/http.h:69:61: note: Function 'http_parse_response' argument 2 names different: declaration 'response' definition 'response_'. httptunnel-3.3/http.c:461:46: note: Function 'http_parse_response' argument 2 names different: declaration 'response' definition 'response_'. httptunnel-3.3/http.c:626:44: style:inconclusive: Function 'http_parse_request' argument 2 names different: declaration 'request' definition 'request_'. [funcArgNamesDifferent] httptunnel-3.3/http.h:80:59: note: Function 'http_parse_request' argument 2 names different: declaration 'request' definition 'request_'. httptunnel-3.3/http.c:626:44: note: Function 'http_parse_request' argument 2 names different: declaration 'request' definition 'request_'. httptunnel-3.3/http.c:779:37: style:inconclusive: Function 'http_destroy_request' argument 1 names different: declaration 'resquest' definition 'request'. [funcArgNamesDifferent] httptunnel-3.3/http.h:82:49: note: Function 'http_destroy_request' argument 1 names different: declaration 'resquest' definition 'request'. httptunnel-3.3/http.c:779:37: note: Function 'http_destroy_request' argument 1 names different: declaration 'resquest' definition 'request'. httptunnel-3.3/http.c:18:40: style: Parameter 'dest' can be declared as pointer to const [constParameterPointer] httptunnel-3.3/http.c:802:16: style: Variable 'h' can be declared as pointer to const [constVariablePointer] httptunnel-3.3/port/daemon.c:31:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDONLY [valueFlowBailoutIncompleteVar] httptunnel-3.3/port/getopt.c:684:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] httptunnel-3.3/port/getopt.c:520:10: style:inconclusive: Function '_getopt_internal' argument 1 names different: declaration '' definition 'argc'. [funcArgNamesDifferentUnnamed] httptunnel-3.3/port/getopt.c:521:19: style:inconclusive: Function '_getopt_internal' argument 2 names different: declaration '' definition 'argv'. [funcArgNamesDifferentUnnamed] httptunnel-3.3/port/getopt.c:522:18: style:inconclusive: Function '_getopt_internal' argument 3 names different: declaration '' definition 'optstring'. [funcArgNamesDifferentUnnamed] httptunnel-3.3/port/getopt.c:523:27: style:inconclusive: Function '_getopt_internal' argument 4 names different: declaration '' definition 'longopts'. [funcArgNamesDifferentUnnamed] httptunnel-3.3/port/getopt.c:524:11: style:inconclusive: Function '_getopt_internal' argument 5 names different: declaration '' definition 'longind'. [funcArgNamesDifferentUnnamed] httptunnel-3.3/port/getopt.c:525:10: style:inconclusive: Function '_getopt_internal' argument 6 names different: declaration '' definition 'long_only'. [funcArgNamesDifferentUnnamed] httptunnel-3.3/port/getopt.c:976:10: style:inconclusive: Function 'getopt' argument 1 names different: declaration '' definition 'argc'. [funcArgNamesDifferentUnnamed] httptunnel-3.3/port/getopt.c:977:19: style:inconclusive: Function 'getopt' argument 2 names different: declaration '' definition 'argv'. [funcArgNamesDifferentUnnamed] httptunnel-3.3/port/getopt.c:978:18: style:inconclusive: Function 'getopt' argument 3 names different: declaration '' definition 'optstring'. [funcArgNamesDifferentUnnamed] httptunnel-3.3/port/getopt.c:779:11: style: Variable 'temp' can be declared as pointer to const [constVariablePointer] httptunnel-3.3/port/getopt1.c:71:10: style:inconclusive: Function 'getopt_long' argument 1 names different: declaration '' definition 'argc'. [funcArgNamesDifferentUnnamed] httptunnel-3.3/port/getopt1.c:72:19: style:inconclusive: Function 'getopt_long' argument 2 names different: declaration '' definition 'argv'. [funcArgNamesDifferentUnnamed] httptunnel-3.3/port/getopt1.c:73:18: style:inconclusive: Function 'getopt_long' argument 3 names different: declaration '' definition 'options'. [funcArgNamesDifferentUnnamed] httptunnel-3.3/port/getopt1.c:74:27: style:inconclusive: Function 'getopt_long' argument 4 names different: declaration '' definition 'long_options'. [funcArgNamesDifferentUnnamed] httptunnel-3.3/port/getopt1.c:75:11: style:inconclusive: Function 'getopt_long' argument 5 names different: declaration '' definition 'opt_index'. [funcArgNamesDifferentUnnamed] httptunnel-3.3/port/getopt1.c:87:10: style:inconclusive: Function 'getopt_long_only' argument 1 names different: declaration '' definition 'argc'. [funcArgNamesDifferentUnnamed] httptunnel-3.3/port/getopt1.c:88:19: style:inconclusive: Function 'getopt_long_only' argument 2 names different: declaration '' definition 'argv'. [funcArgNamesDifferentUnnamed] httptunnel-3.3/port/getopt1.c:89:18: style:inconclusive: Function 'getopt_long_only' argument 3 names different: declaration '' definition 'options'. [funcArgNamesDifferentUnnamed] httptunnel-3.3/port/getopt1.c:90:27: style:inconclusive: Function 'getopt_long_only' argument 4 names different: declaration '' definition 'long_options'. [funcArgNamesDifferentUnnamed] httptunnel-3.3/port/getopt1.c:91:11: style:inconclusive: Function 'getopt_long_only' argument 5 names different: declaration '' definition 'opt_index'. [funcArgNamesDifferentUnnamed] httptunnel-3.3/port/poll.c:17:2: error: #error "Must have either poll() or select()." [preprocessorErrorDirective] httptunnel-3.3/port/vsnprintf.c:15:2: error: #error "Must have vfprintf() and vsprintf()." [preprocessorErrorDirective] httptunnel-3.3/tunnel.c:36:2: error: #error "FIXME: Can't handle SIZEOF_CHAR != 1" [preprocessorErrorDirective] diff: head httptunnel-3.3/port/getopt.c:520:10: style:inconclusive: Function '_getopt_internal' argument 1 names different: declaration '' definition 'argc'. [funcArgNamesDifferentUnnamed] head httptunnel-3.3/port/getopt.c:521:19: style:inconclusive: Function '_getopt_internal' argument 2 names different: declaration '' definition 'argv'. [funcArgNamesDifferentUnnamed] head httptunnel-3.3/port/getopt.c:522:18: style:inconclusive: Function '_getopt_internal' argument 3 names different: declaration '' definition 'optstring'. [funcArgNamesDifferentUnnamed] head httptunnel-3.3/port/getopt.c:523:27: style:inconclusive: Function '_getopt_internal' argument 4 names different: declaration '' definition 'longopts'. [funcArgNamesDifferentUnnamed] head httptunnel-3.3/port/getopt.c:524:11: style:inconclusive: Function '_getopt_internal' argument 5 names different: declaration '' definition 'longind'. [funcArgNamesDifferentUnnamed] head httptunnel-3.3/port/getopt.c:525:10: style:inconclusive: Function '_getopt_internal' argument 6 names different: declaration '' definition 'long_only'. [funcArgNamesDifferentUnnamed] head httptunnel-3.3/port/getopt.c:976:10: style:inconclusive: Function 'getopt' argument 1 names different: declaration '' definition 'argc'. [funcArgNamesDifferentUnnamed] head httptunnel-3.3/port/getopt.c:977:19: style:inconclusive: Function 'getopt' argument 2 names different: declaration '' definition 'argv'. [funcArgNamesDifferentUnnamed] head httptunnel-3.3/port/getopt.c:978:18: style:inconclusive: Function 'getopt' argument 3 names different: declaration '' definition 'optstring'. [funcArgNamesDifferentUnnamed] head httptunnel-3.3/port/getopt1.c:71:10: style:inconclusive: Function 'getopt_long' argument 1 names different: declaration '' definition 'argc'. [funcArgNamesDifferentUnnamed] head httptunnel-3.3/port/getopt1.c:72:19: style:inconclusive: Function 'getopt_long' argument 2 names different: declaration '' definition 'argv'. [funcArgNamesDifferentUnnamed] head httptunnel-3.3/port/getopt1.c:73:18: style:inconclusive: Function 'getopt_long' argument 3 names different: declaration '' definition 'options'. [funcArgNamesDifferentUnnamed] head httptunnel-3.3/port/getopt1.c:74:27: style:inconclusive: Function 'getopt_long' argument 4 names different: declaration '' definition 'long_options'. [funcArgNamesDifferentUnnamed] head httptunnel-3.3/port/getopt1.c:75:11: style:inconclusive: Function 'getopt_long' argument 5 names different: declaration '' definition 'opt_index'. [funcArgNamesDifferentUnnamed] head httptunnel-3.3/port/getopt1.c:87:10: style:inconclusive: Function 'getopt_long_only' argument 1 names different: declaration '' definition 'argc'. [funcArgNamesDifferentUnnamed] head httptunnel-3.3/port/getopt1.c:88:19: style:inconclusive: Function 'getopt_long_only' argument 2 names different: declaration '' definition 'argv'. [funcArgNamesDifferentUnnamed] head httptunnel-3.3/port/getopt1.c:89:18: style:inconclusive: Function 'getopt_long_only' argument 3 names different: declaration '' definition 'options'. [funcArgNamesDifferentUnnamed] head httptunnel-3.3/port/getopt1.c:90:27: style:inconclusive: Function 'getopt_long_only' argument 4 names different: declaration '' definition 'long_options'. [funcArgNamesDifferentUnnamed] head httptunnel-3.3/port/getopt1.c:91:11: style:inconclusive: Function 'getopt_long_only' argument 5 names different: declaration '' definition 'opt_index'. [funcArgNamesDifferentUnnamed] DONE