2026-05-01 05:50 ftp://ftp.de.debian.org/debian/pool/main/b/bip/bip_0.9.3.orig.tar.gz cppcheck-options: --library=posix --library=gnu --library=bsd --library=openssl --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 -j8 platform: Linux-6.18.15+deb14-amd64-x86_64-with-glibc2.42 python: 3.13.12 client-version: 1.4.0 compiler: g++ (Debian 15.2.0-17) 15.2.0 cppcheck: head 2.20.0 head-info: 0fda84ef (2026-05-01 02:32:52 +0200) count: 228 221 elapsed-time: 0.4 0.3 head-timing-info: old-timing-info: head results: bip-0.9.3/src/bipmkpw.c:32:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] bip-0.9.3/src/bipmkpw.c:38:31: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable O_RDWR [valueFlowBailoutIncompleteVar] bip-0.9.3/src/bip_main.c:90:28: error: There is an unknown macro here somewhere. Configuration is required. If PACKAGE_VERSION is a macro then please configure it. [unknownMacro] bip-0.9.3/src/util.h:135:6: warning: Either the condition '!ti' is redundant or there is possible null pointer dereference: ti. [nullPointerRedundantCheck] bip-0.9.3/src/util.h:134:2: note: Assuming that condition '!ti' is not redundant bip-0.9.3/src/util.h:135:6: note: Null pointer dereference bip-0.9.3/src/util.h:148:7: warning: Either the condition '!ti' is redundant or there is possible null pointer dereference: ti. [nullPointerRedundantCheck] bip-0.9.3/src/util.h:147:2: note: Assuming that condition '!ti' is not redundant bip-0.9.3/src/util.h:148:7: note: Null pointer dereference bip-0.9.3/src/util.h:206:9: warning: Either the condition '!a' is redundant or there is possible null pointer dereference: a. [nullPointerRedundantCheck] bip-0.9.3/src/util.h:205:2: note: Assuming that condition '!a' is not redundant bip-0.9.3/src/util.h:206:9: note: Null pointer dereference bip-0.9.3/src/util.h:212:9: warning: Either the condition 'a' is redundant or there is possible null pointer dereference: a. [nullPointerRedundantCheck] bip-0.9.3/src/util.h:211:2: note: Assuming that condition 'a' is not redundant bip-0.9.3/src/util.h:212:9: note: Null pointer dereference bip-0.9.3/src/util.h:219:2: warning: Either the condition '!a' is redundant or there is possible null pointer dereference: a. [nullPointerRedundantCheck] bip-0.9.3/src/util.h:217:2: note: Assuming that condition '!a' is not redundant bip-0.9.3/src/util.h:219:2: note: Null pointer dereference bip-0.9.3/src/util.h:225:9: warning: Either the condition 'a' is redundant or there is possible null pointer dereference: a. [nullPointerRedundantCheck] bip-0.9.3/src/util.h:224:2: note: Assuming that condition 'a' is not redundant bip-0.9.3/src/util.h:225:9: note: Null pointer dereference bip-0.9.3/src/util.h:233:8: warning: Either the condition '!a' is redundant or there is possible null pointer dereference: a. [nullPointerRedundantCheck] bip-0.9.3/src/util.h:232:2: note: Assuming that condition '!a' is not redundant bip-0.9.3/src/util.h:233:8: note: Null pointer dereference bip-0.9.3/src/util.h:235:2: warning: Either the condition '!a' is redundant or there is possible null pointer dereference: a. [nullPointerRedundantCheck] bip-0.9.3/src/util.h:232:2: note: Assuming that condition '!a' is not redundant bip-0.9.3/src/util.h:235:2: note: Null pointer dereference bip-0.9.3/src/util.h:241:6: warning: Either the condition '!a' is redundant or there is possible null pointer dereference: a. [nullPointerRedundantCheck] bip-0.9.3/src/util.h:240:2: note: Assuming that condition '!a' is not redundant bip-0.9.3/src/util.h:241:6: note: Null pointer dereference bip-0.9.3/src/bipmkpw.c:30:26: style: Parameter 'msg' can be declared as pointer to const [constParameterPointer] bip-0.9.3/src/bipmkpw.c:30:37: style: Parameter 'err' can be declared as pointer to const [constParameterPointer] bip-0.9.3/src/util.h:203:40: style: Parameter 'a' can be declared as pointer to const [constParameterPointer] bip-0.9.3/src/util.h:209:43: style: Parameter 'a' can be declared as pointer to const [constParameterPointer] bip-0.9.3/src/util.h:215:59: style: Parameter 'ptr' can be declared as pointer to const [constParameterPointer] bip-0.9.3/src/util.h:228:49: style: Parameter 'ptr' can be declared as pointer to const [constParameterPointer] bip-0.9.3/src/line.c:54:8: style: Variable 'ptr' can be declared as pointer to const [constVariablePointer] bip-0.9.3/src/path_util.c:36:54: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] bip-0.9.3/src/connection.c:137:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable FD_SETSIZE [valueFlowBailoutIncompleteVar] bip-0.9.3/src/connection.c:328:47: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EINTR [valueFlowBailoutIncompleteVar] bip-0.9.3/src/connection.c:565:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EAGAIN [valueFlowBailoutIncompleteVar] bip-0.9.3/src/connection.c:782:21: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EINPROGRESS [valueFlowBailoutIncompleteVar] bip-0.9.3/src/connection.c:845:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable CLOCK_MONOTONIC [valueFlowBailoutIncompleteVar] bip-0.9.3/src/connection.c:909:39: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable FD_SETSIZE [valueFlowBailoutIncompleteVar] bip-0.9.3/src/connection.c:1017:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AI_PASSIVE [valueFlowBailoutIncompleteVar] bip-0.9.3/src/connection.c:1059:38: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AI_PASSIVE [valueFlowBailoutIncompleteVar] bip-0.9.3/src/connection.c:1215:35: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable sockaddr [valueFlowBailoutIncompleteVar] bip-0.9.3/src/connection.c:1792:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable F_GETFL [valueFlowBailoutIncompleteVar] bip-0.9.3/src/connection.c:1941:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AF_INET [valueFlowBailoutIncompleteVar] conf.y:40:31: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable tuple [valueFlowBailoutIncompleteVar] conf.y:50:31: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable tuple [valueFlowBailoutIncompleteVar] conf.y:59:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TUPLE_STR [valueFlowBailoutIncompleteVar] conf.y:66:18: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable TUPLE_LIST [valueFlowBailoutIncompleteVar] bip-0.9.3/src/irc.c:1996:3: error: There is an unknown macro here somewhere. Configuration is required. If PACKAGE_VERSION is a macro then please configure it. [unknownMacro] lex.c:999:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdin [valueFlowBailoutIncompleteVar] lex.c:1689:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] lex.c:1986:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] lex.c:2224:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] bip-0.9.3/src/utils/base64.c:52:11: style: Variable 'line_len' is assigned a value that is never used. [unreadVariable] bip-0.9.3/src/utils/base64.c:59:12: style: Variable 'line_len' is assigned a value that is never used. [unreadVariable] bip-0.9.3/src/utils/base64.c:80:12: style: Variable 'line_len' is assigned a value that is never used. [unreadVariable] conf.c:1293:5: warning: Assignment of function parameter has no effect outside the function. Did you forget dereferencing it? [uselessAssignmentPtrArg] conf.c:2165:18: style: Condition '0<=yyi' is always true [knownConditionTrueFalse] conf.c:2164:36: note: Assignment 'yyi=yypgoto[yylhs]+*yyssp', assigned value is greater than -1 conf.c:2165:18: note: Condition '0<=yyi' is always true conf.c:1378:3: style: The comparison '0 <= yystate' is always true. [knownConditionTrueFalse] conf.c:1320:31: note: 'yystate' is assigned value '0' here. conf.c:1378:3: note: The comparison '0 <= yystate' is always true. bip-0.9.3/tests/check_line.c:112:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable test_line_init [valueFlowBailoutIncompleteVar] bip-0.9.3/tests/check_line.c:130:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable CK_NORMAL [valueFlowBailoutIncompleteVar] bip-0.9.3/src/log.c:51:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable ENOENT [valueFlowBailoutIncompleteVar] bip-0.9.3/src/log.c:830:35: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable EOF [valueFlowBailoutIncompleteVar] conf.c:1293:11: style: Variable 'yymsg' is assigned a value that is never used. [unreadVariable] bip-0.9.3/src/bip.c:184:42: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable errno [valueFlowBailoutIncompleteVar] bip-0.9.3/src/bip.c:934:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable in_use [valueFlowBailoutIncompleteVar] bip-0.9.3/src/bip.c:1162:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable RLIMIT_CPU [valueFlowBailoutIncompleteVar] lex.c:1990:2: warning: Possible null pointer dereference: b [nullPointer] lex.c:1883:18: note: Calling function 'yy_init_buffer', 1st argument '(yy_buffer_stack)?(yy_buffer_stack)[yy_buffer_stack_top]:NULL' value is 0 lex.c:1990:2: note: Null pointer dereference lex.c:1991:2: warning: Possible null pointer dereference: b [nullPointer] lex.c:1883:18: note: Calling function 'yy_init_buffer', 1st argument '(yy_buffer_stack)?(yy_buffer_stack)[yy_buffer_stack_top]:NULL' value is 0 lex.c:1991:2: note: Null pointer dereference lex.c:1689:3: style: Redundant initialization for 'c'. The initialized value is overwritten before it is read. [redundantInitialization] lex.c:1689:3: note: c is initialized lex.c:1689:3: note: c is overwritten lex.l:74:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] lex.l:83:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] lex.l:88:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] lex.l:93:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] lex.l:98:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] lex.l:103:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] lex.l:108:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] lex.l:113:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] lex.l:118:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] lex.l:123:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] lex.l:128:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] lex.l:133:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] lex.l:138:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] lex.l:143:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] lex.l:148:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] lex.l:153:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] lex.l:158:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] lex.l:163:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] lex.l:168:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] lex.l:173:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] lex.l:178:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] lex.l:183:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] lex.l:188:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] lex.l:193:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] lex.l:198:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] lex.l:203:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] lex.l:208:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] lex.l:213:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] lex.l:218:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] lex.l:223:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] lex.l:228:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] lex.l:233:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] lex.l:238:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] lex.l:243:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] lex.l:248:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] lex.l:253:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] lex.l:258:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] lex.l:263:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] lex.l:268:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] lex.l:273:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] lex.l:278:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] lex.l:283:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] lex.l:288:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] lex.l:293:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] lex.l:298:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] lex.l:303:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] lex.l:308:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] lex.l:313:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] lex.l:318:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] lex.l:323:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] lex.l:328:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] lex.l:333:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] lex.l:338:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] lex.l:343:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] lex.l:348:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] lex.l:353:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] lex.l:358:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] lex.l:363:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] lex.l:368:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] lex.l:373:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] lex.l:378:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] lex.l:383:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] lex.l:388:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] lex.l:400:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] lex.l:405:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] lex.l:410:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] lex.l:415:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] lex.l:420:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] lex.l:426:2: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] lex.c:1768:59: style:inconclusive: Function 'yy_try_NUL_trans' argument 1 names different: declaration 'current_state' definition 'yy_current_state'. [funcArgNamesDifferent] lex.c:341:55: note: Function 'yy_try_NUL_trans' argument 1 names different: declaration 'current_state' definition 'yy_current_state'. lex.c:1768:59: note: Function 'yy_try_NUL_trans' argument 1 names different: declaration 'current_state' definition 'yy_current_state'. lex.c:2175:46: style:inconclusive: Function 'yy_scan_string' argument 1 names different: declaration 'yy_str' definition 'yystr'. [funcArgNamesDifferent] lex.c:296:46: note: Function 'yy_scan_string' argument 1 names different: declaration 'yy_str' definition 'yystr'. lex.c:2175:46: note: Function 'yy_scan_string' argument 1 names different: declaration 'yy_str' definition 'yystr'. lex.c:2188:46: style:inconclusive: Function 'yy_scan_bytes' argument 1 names different: declaration 'bytes' definition 'yybytes'. [funcArgNamesDifferent] lex.c:297:45: note: Function 'yy_scan_bytes' argument 1 names different: declaration 'bytes' definition 'yybytes'. lex.c:2188:46: note: Function 'yy_scan_bytes' argument 1 names different: declaration 'bytes' definition 'yybytes'. lex.c:2188:60: style:inconclusive: Function 'yy_scan_bytes' argument 2 names different: declaration 'len' definition '_yybytes_len'. [funcArgNamesDifferent] lex.c:297:56: note: Function 'yy_scan_bytes' argument 2 names different: declaration 'len' definition '_yybytes_len'. lex.c:2188:60: note: Function 'yy_scan_bytes' argument 2 names different: declaration 'len' definition '_yybytes_len'. lex.c:2320:24: style:inconclusive: Function 'yyset_debug' argument 1 names different: declaration 'debug_flag' definition '_bdebug'. [funcArgNamesDifferent] lex.c:824:24: note: Function 'yyset_debug' argument 1 names different: declaration 'debug_flag' definition '_bdebug'. lex.c:2320:24: note: Function 'yyset_debug' argument 1 names different: declaration 'debug_flag' definition '_bdebug'. lex.c:2400:27: style:inconclusive: Function 'yyalloc' argument 1 names different: declaration '' definition 'size'. [funcArgNamesDifferentUnnamed] lex.c:2405:26: style:inconclusive: Function 'yyrealloc' argument 1 names different: declaration '' definition 'ptr'. [funcArgNamesDifferentUnnamed] lex.c:2405:42: style:inconclusive: Function 'yyrealloc' argument 2 names different: declaration '' definition 'size'. [funcArgNamesDifferentUnnamed] lex.c:2418:21: style:inconclusive: Function 'yyfree' argument 1 names different: declaration '' definition 'ptr'. [funcArgNamesDifferentUnnamed] lex.c:1601:8: style: Variable 'source' can be declared as pointer to const [constVariablePointer] bip-0.9.3/src/md5.c:54:42: style: Parameter 'data' can be declared as const array [constParameter] bip-0.9.3/src/md5.c:329:35: style: Parameter 'str' can be declared as pointer to const [constParameterPointer] bip-0.9.3/src/md5.c:364:41: style: Parameter 'pass' can be declared as pointer to const [constParameterPointer] bip-0.9.3/src/connection.c:127:10: warning: Either the condition '!cn->connecting_data' is redundant or there is possible null pointer dereference: cn->connecting_data. [nullPointerRedundantCheck] bip-0.9.3/src/connection.c:123:6: note: Assuming that condition '!cn->connecting_data' is not redundant bip-0.9.3/src/connection.c:127:10: note: Null pointer dereference bip-0.9.3/src/connection.c:129:15: warning: Either the condition '!cn->connecting_data' is redundant or there is possible null pointer dereference: cn->connecting_data. [nullPointerRedundantCheck] bip-0.9.3/src/connection.c:123:6: note: Assuming that condition '!cn->connecting_data' is not redundant bip-0.9.3/src/connection.c:129:15: note: Null pointer dereference bip-0.9.3/src/connection.c:378:6: warning: Either the condition 'cn==NULL' is redundant or there is possible null pointer dereference: cn. [nullPointerRedundantCheck] bip-0.9.3/src/connection.c:375:9: note: Assuming that condition 'cn==NULL' is not redundant bip-0.9.3/src/connection.c:378:6: note: Null pointer dereference bip-0.9.3/src/connection.c:664:10: warning: Either the condition 'cn==NULL' is redundant or there is possible null pointer dereference: cn. [nullPointerRedundantCheck] bip-0.9.3/src/connection.c:662:9: note: Assuming that condition 'cn==NULL' is not redundant bip-0.9.3/src/connection.c:664:10: note: Null pointer dereference bip-0.9.3/src/connection.c:900:52: warning: Either the condition 'cn==NULL' is redundant or there is possible null pointer dereference: cn. [nullPointerRedundantCheck] bip-0.9.3/src/connection.c:897:10: note: Assuming that condition 'cn==NULL' is not redundant bip-0.9.3/src/connection.c:900:52: note: Null pointer dereference bip-0.9.3/src/connection.c:901:7: warning: Either the condition 'cn==NULL' is redundant or there is possible null pointer dereference: cn. [nullPointerRedundantCheck] bip-0.9.3/src/connection.c:897:10: note: Assuming that condition 'cn==NULL' is not redundant bip-0.9.3/src/connection.c:901:7: note: Null pointer dereference bip-0.9.3/src/connection.c:129:11: style: Variable 'cur' is reassigned a value before the old one has been used. [redundantAssignment] bip-0.9.3/src/connection.c:127:6: note: cur is assigned bip-0.9.3/src/connection.c:129:11: note: cur is overwritten bip-0.9.3/src/connection.c:418:46: style: Parameter 'line' can be declared as pointer to const [constParameterPointer] bip-0.9.3/src/connection.c:449:41: style: Parameter 'line' can be declared as pointer to const [constParameterPointer] bip-0.9.3/src/connection.c:620:29: style: Parameter 'cn' can be declared as pointer to const [constParameterPointer] bip-0.9.3/src/connection.c:640:34: style: Parameter 'cn' can be declared as pointer to const [constParameterPointer] bip-0.9.3/src/connection.c:660:35: style: Parameter 'cn' can be declared as pointer to const [constParameterPointer] bip-0.9.3/src/connection.c:667:39: style: Parameter 'fds' can be declared as pointer to const [constParameterPointer] bip-0.9.3/src/connection.c:686:37: style: Parameter 'fds' can be declared as pointer to const [constParameterPointer] bip-0.9.3/src/connection.c:741:38: style: Parameter 'fds' can be declared as pointer to const [constParameterPointer] bip-0.9.3/src/connection.c:1009:52: style: Parameter 'dstport' can be declared as pointer to const [constParameterPointer] bip-0.9.3/src/connection.c:1009:67: style: Parameter 'srchostname' can be declared as pointer to const [constParameterPointer] bip-0.9.3/src/connection.c:1010:12: style: Parameter 'srcport' can be declared as pointer to const [constParameterPointer] bip-0.9.3/src/connection.c:1053:43: style: Parameter 'hostname' can be declared as pointer to const [constParameterPointer] bip-0.9.3/src/connection.c:1053:59: style: Parameter 'port' can be declared as pointer to const [constParameterPointer] bip-0.9.3/src/connection.c:1760:35: style: Parameter 'cn' can be declared as pointer to const [constParameterPointer] bip-0.9.3/src/connection.c:1985:40: style: Parameter 'cn' can be declared as pointer to const [constParameterPointer] bip-0.9.3/src/connection.c:1993:41: style: Parameter 'cn' can be declared as pointer to const [constParameterPointer] bip-0.9.3/src/util.c:230:7: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] bip-0.9.3/src/util.c:243:7: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] bip-0.9.3/src/util.c:217:45: style: Condition '*tmp!='\0'' is always true [knownConditionTrueFalse] bip-0.9.3/src/util.c:217:37: style: Same expression '*tmp!='\0'' found multiple times in chain of '&&' operators. [duplicateExpression] bip-0.9.3/src/util.c:126:65: style:inconclusive: Function 'bip_strcatf_fit' argument 3 names different: declaration 'str2' definition 'fmt'. [funcArgNamesDifferent] bip-0.9.3/src/util.h:189:65: note: Function 'bip_strcatf_fit' argument 3 names different: declaration 'str2' definition 'fmt'. bip-0.9.3/src/util.c:126:65: note: Function 'bip_strcatf_fit' argument 3 names different: declaration 'str2' definition 'fmt'. bip-0.9.3/src/util.c:236:21: style:inconclusive: Function 'hrtime' argument 1 names different: declaration 't' definition 's'. [funcArgNamesDifferent] bip-0.9.3/src/util.h:178:21: note: Function 'hrtime' argument 1 names different: declaration 't' definition 's'. bip-0.9.3/src/util.c:236:21: note: Function 'hrtime' argument 1 names different: declaration 't' definition 's'. bip-0.9.3/src/util.c:354:24: style:inconclusive: Function 'list_init' argument 1 names different: declaration 'list' definition 'l'. [funcArgNamesDifferent] bip-0.9.3/src/util.h:112:24: note: Function 'list_init' argument 1 names different: declaration 'list' definition 'l'. bip-0.9.3/src/util.c:354:24: note: Function 'list_init' argument 1 names different: declaration 'list' definition 'l'. bip-0.9.3/src/util.c:604:31: style:inconclusive: Function 'hash_init' argument 2 names different: declaration '' definition 'options'. [funcArgNamesDifferentUnnamed] bip-0.9.3/src/util.c:694:24: style:inconclusive: Function 'hash_get' argument 1 names different: declaration '' definition 'hash'. [funcArgNamesDifferentUnnamed] bip-0.9.3/src/util.c:742:27: style:inconclusive: Function 'hash_it_init' argument 1 names different: declaration 'hash' definition 'h'. [funcArgNamesDifferent] bip-0.9.3/src/util.h:164:27: note: Function 'hash_it_init' argument 1 names different: declaration 'hash' definition 'h'. bip-0.9.3/src/util.c:742:27: note: Function 'hash_it_init' argument 1 names different: declaration 'hash' definition 'h'. bip-0.9.3/src/util.c:742:47: style:inconclusive: Function 'hash_it_init' argument 2 names different: declaration 'i' definition 'hi'. [funcArgNamesDifferent] bip-0.9.3/src/util.h:164:50: note: Function 'hash_it_init' argument 2 names different: declaration 'i' definition 'hi'. bip-0.9.3/src/util.c:742:47: note: Function 'hash_it_init' argument 2 names different: declaration 'i' definition 'hi'. bip-0.9.3/src/util.c:790:39: style:inconclusive: Function 'hash_it_remove' argument 1 names different: declaration 'li' definition 'hi'. [funcArgNamesDifferent] bip-0.9.3/src/util.h:168:39: note: Function 'hash_it_remove' argument 1 names different: declaration 'li' definition 'hi'. bip-0.9.3/src/util.c:790:39: note: Function 'hash_it_remove' argument 1 names different: declaration 'li' definition 'hi'. bip-0.9.3/src/util.c:197:8: style: Variable 'tmp' can be declared as pointer to const [constVariablePointer] bip-0.9.3/src/util.c:212:8: style: Variable 'tmp' can be declared as pointer to const [constVariablePointer] bip-0.9.3/src/util.c:227:13: style: Variable 'tm' can be declared as pointer to const [constVariablePointer] bip-0.9.3/src/util.c:239:13: style: Variable 'tm' can be declared as pointer to const [constVariablePointer] bip-0.9.3/src/util.c:263:30: style: Parameter 'fmt' can be declared as pointer to const [constParameterPointer] bip-0.9.3/src/util.c:265:8: style: Variable 'prefix' can be declared as pointer to const [constVariablePointer] bip-0.9.3/src/util.c:515:27: style: Parameter 'l' can be declared as pointer to const [constParameterPointer] bip-0.9.3/src/util.c:599:44: style: Parameter 'a' can be declared as pointer to const. However it seems that 'hash_item_cmp' is a callback function, if 'a' is declared with const you might also need to cast function pointer(s). [constParameterCallback] bip-0.9.3/src/util.c:620:23: note: You might need to cast the function pointer here bip-0.9.3/src/util.c:599:44: note: Parameter 'a' can be declared as pointer to const bip-0.9.3/src/util.c:599:53: style: Parameter 'b' can be declared as pointer to const. However it seems that 'hash_item_cmp' is a callback function, if 'b' is declared with const you might also need to cast function pointer(s). [constParameterCallback] bip-0.9.3/src/util.c:620:23: note: You might need to cast the function pointer here bip-0.9.3/src/util.c:599:53: note: Parameter 'b' can be declared as pointer to const bip-0.9.3/src/util.c:685:20: style: Variable 'hi' can be declared as pointer to const [constVariablePointer] bip-0.9.3/src/util.c:696:20: style: Variable 'hi' can be declared as pointer to const [constVariablePointer] bip-0.9.3/src/util.c:770:20: style: Variable 'hi' can be declared as pointer to const [constVariablePointer] bip-0.9.3/src/util.c:781:20: style: Variable 'hi' can be declared as pointer to const [constVariablePointer] bip-0.9.3/src/log.c:151:8: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] bip-0.9.3/src/log.c:415:10: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] bip-0.9.3/src/log.c:623:9: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] bip-0.9.3/src/log.c:1031:8: portability: Non reentrant function 'localtime' called. For threadsafe applications it is recommended to use the reentrant replacement function 'localtime_r'. [prohibitedlocaltimeCalled] bip-0.9.3/src/log.c:901:13: warning: Either the condition '!buf' is redundant or there is possible null pointer dereference: buf. [nullPointerRedundantCheck] bip-0.9.3/src/log.c:899:2: note: Assuming that condition '!buf' is not redundant bip-0.9.3/src/log.c:901:13: note: Null pointer dereference bip-0.9.3/src/log.c:1162:15: style: Redundant initialization for 'file_it'. The initialized value is overwritten before it is read. [redundantInitialization] bip-0.9.3/src/log.c:1158:26: note: file_it is initialized bip-0.9.3/src/log.c:1162:15: note: file_it is overwritten bip-0.9.3/src/log.c:1248:14: style: Checking if unsigned expression 'written' is less than zero. [unsignedLessThanZero] bip-0.9.3/src/log.c:574:66: style:inconclusive: Function 'log_notice' argument 3 names different: declaration 'channel' definition 'destination'. [funcArgNamesDifferent] bip-0.9.3/src/log.h:78:66: note: Function 'log_notice' argument 3 names different: declaration 'channel' definition 'destination'. bip-0.9.3/src/log.c:574:66: note: Function 'log_notice' argument 3 names different: declaration 'channel' definition 'destination'. bip-0.9.3/src/log.c:594:19: style:inconclusive: Function 'log_cli_notice' argument 3 names different: declaration 'channel' definition 'destination'. [funcArgNamesDifferent] bip-0.9.3/src/log.h:82:70: note: Function 'log_cli_notice' argument 3 names different: declaration 'channel' definition 'destination'. bip-0.9.3/src/log.c:594:19: note: Function 'log_cli_notice' argument 3 names different: declaration 'channel' definition 'destination'. bip-0.9.3/src/log.c:1198:54: style:inconclusive: Function '_log_write' argument 2 names different: declaration 'lf' definition 'store'. [funcArgNamesDifferent] bip-0.9.3/src/log.c:34:54: note: Function '_log_write' argument 2 names different: declaration 'lf' definition 'store'. bip-0.9.3/src/log.c:1198:54: note: Function '_log_write' argument 2 names different: declaration 'lf' definition 'store'. bip-0.9.3/src/log.c:1199:17: style:inconclusive: Function '_log_write' argument 3 names different: declaration 'd' definition 'destination'. [funcArgNamesDifferent] bip-0.9.3/src/log.c:34:70: note: Function '_log_write' argument 3 names different: declaration 'd' definition 'destination'. bip-0.9.3/src/log.c:1199:17: note: Function '_log_write' argument 3 names different: declaration 'd' definition 'destination'. bip-0.9.3/src/log.c:1237:23: warning: Function 'log_write' argument order different: declaration 'logdata, str, destination' definition 'logdata, destination, str' [funcArgOrderDifferent] bip-0.9.3/src/log.h:84:23: note: Function 'log_write' argument order different: declaration 'logdata, str, destination' definition 'logdata, destination, str' bip-0.9.3/src/log.c:1237:23: note: Function 'log_write' argument order different: declaration 'logdata, str, destination' definition 'logdata, destination, str' bip-0.9.3/src/log.c:125:35: style: Parameter 'var' can be declared as pointer to const [constParameterPointer] bip-0.9.3/src/log.c:125:46: style: Parameter 'value' can be declared as pointer to const [constParameterPointer] bip-0.9.3/src/log.c:143:13: style: Variable 'now' can be declared as pointer to const [constVariablePointer] bip-0.9.3/src/log.c:260:15: style: Variable 'lf' can be declared as pointer to const [constVariablePointer] bip-0.9.3/src/log.c:396:21: style: Variable 'ci' can be declared as pointer to const [constVariablePointer] bip-0.9.3/src/log.c:412:13: style: Variable 'ltime' can be declared as pointer to const [constVariablePointer] bip-0.9.3/src/log.c:498:14: style: Variable 'oldstore' can be declared as pointer to const [constVariablePointer] bip-0.9.3/src/log.c:499:14: style: Variable 'newstore' can be declared as pointer to const [constVariablePointer] bip-0.9.3/src/log.c:618:13: style: Variable 'time' can be declared as pointer to const [constVariablePointer] bip-0.9.3/src/log.c:794:34: style: Parameter 'ld' can be declared as pointer to const [constParameterPointer] bip-0.9.3/src/log.c:867:13: style: Variable 'lf' can be declared as pointer to const [constVariablePointer] bip-0.9.3/src/log.c:1349:26: style: Parameter 'strdate' can be declared as pointer to const [constParameterPointer] bip-0.9.3/src/bip.c:743:13: style: Variable 'u->backlog' is reassigned a value before the old one has been used. [redundantAssignment] bip-0.9.3/src/bip.c:733:14: note: u->backlog is assigned bip-0.9.3/src/bip.c:743:13: note: u->backlog is overwritten bip-0.9.3/src/bip.c:746:19: style: Variable 'u->backlog_lines' is reassigned a value before the old one has been used. [redundantAssignment] bip-0.9.3/src/bip.c:736:20: note: u->backlog_lines is assigned bip-0.9.3/src/bip.c:746:19: note: u->backlog_lines is overwritten bip-0.9.3/src/bip.c:747:23: style: Variable 'u->backlog_timestamp' is reassigned a value before the old one has been used. [redundantAssignment] bip-0.9.3/src/bip.c:737:24: note: u->backlog_timestamp is assigned bip-0.9.3/src/bip.c:747:23: note: u->backlog_timestamp is overwritten bip-0.9.3/src/bip.c:245:2: style: Statements following noreturn function 'exit()' will never be executed. [unreachableCode] bip-0.9.3/src/bip.c:297:8: style: Variable 'name' can be declared as pointer to const [constVariablePointer] bip-0.9.3/src/bip.c:450:8: style: Variable 'name' can be declared as pointer to const [constVariablePointer] bip-0.9.3/src/bip.c:669:16: style: Variable 't' can be declared as pointer to const [constVariablePointer] bip-0.9.3/src/bip.c:682:16: style: Variable 't' can be declared as pointer to const [constVariablePointer] bip-0.9.3/src/bip.c:693:46: style: Parameter 'tdata' can be declared as pointer to const [constParameterPointer] bip-0.9.3/src/bip.c:713:77: style: Parameter 'hds' can be declared as pointer to const [constParameterPointer] bip-0.9.3/src/bip.c:718:8: style: Variable 'name' can be declared as pointer to const [constVariablePointer] bip-0.9.3/src/bip.c:859:20: style: Variable 'ci' can be declared as pointer to const [constVariablePointer] bip-0.9.3/src/bip.c:1837:48: style: Parameter 'fmt' can be declared as pointer to const [constParameterPointer] bip-0.9.3/src/bip.c:1839:8: style: Variable 'nick' can be declared as pointer to const [constVariablePointer] bip-0.9.3/src/bip.c:1899:56: style: Parameter 'val' can be declared as pointer to const [constParameterPointer] bip-0.9.3/src/bip.c:1600:10: style: Variable 'bufpos' is assigned a value that is never used. [unreadVariable] bip-0.9.3/src/bip.c:2151:8: style: Variable 'eptr' is assigned a value that is never used. [unreadVariable] diff: head bip-0.9.3/src/util.c:515:27: style: Parameter 'l' can be declared as pointer to const [constParameterPointer] head bip-0.9.3/src/util.c:604:31: style:inconclusive: Function 'hash_init' argument 2 names different: declaration '' definition 'options'. [funcArgNamesDifferentUnnamed] head bip-0.9.3/src/util.c:694:24: style:inconclusive: Function 'hash_get' argument 1 names different: declaration '' definition 'hash'. [funcArgNamesDifferentUnnamed] head lex.c:2400:27: style:inconclusive: Function 'yyalloc' argument 1 names different: declaration '' definition 'size'. [funcArgNamesDifferentUnnamed] head lex.c:2405:26: style:inconclusive: Function 'yyrealloc' argument 1 names different: declaration '' definition 'ptr'. [funcArgNamesDifferentUnnamed] head lex.c:2405:42: style:inconclusive: Function 'yyrealloc' argument 2 names different: declaration '' definition 'size'. [funcArgNamesDifferentUnnamed] head lex.c:2418:21: style:inconclusive: Function 'yyfree' argument 1 names different: declaration '' definition 'ptr'. [funcArgNamesDifferentUnnamed] DONE