2026-05-01 14:38 ftp://ftp.de.debian.org/debian/pool/main/d/datum-gateway/datum-gateway_0.4.1~beta.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 -j6 platform: Linux-7.0.3+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: e5c4a734 (2026-05-01 11:10:43 +0200) count: 118 116 elapsed-time: 0.6 0.5 head-timing-info: old-timing-info: head results: datum_gateway-0.4.1beta/src/datum_jsonrpc.h:45:9: error: #error "Jansson 2.0 with long long support required!" [preprocessorErrorDirective] datum_gateway-0.4.1beta/src/datum_queue.c:91:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable __func__ [valueFlowBailoutIncompleteVar] datum_gateway-0.4.1beta/src/datum_queue.c:159:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable __func__ [valueFlowBailoutIncompleteVar] datum_gateway-0.4.1beta/src/datum_queue.c:124:48: style: Parameter 'item' can be declared as pointer to const [constParameterPointer] datum_gateway-0.4.1beta/src/datum_queue.c:163:20: warning: Uninitialized variable: buffer_id [uninitvar] datum_gateway-0.4.1beta/src/datum_queue.c:134:9: note: Assuming condition is false datum_gateway-0.4.1beta/src/datum_queue.c:163:20: note: Uninitialized variable: buffer_id datum_gateway-0.4.1beta/src/datum_logger.c:144:34: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] datum_gateway-0.4.1beta/src/datum_logger.c:269:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable __func__ [valueFlowBailoutIncompleteVar] datum_gateway-0.4.1beta/src/datum_logger.c:461:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable __func__ [valueFlowBailoutIncompleteVar] datum_gateway-0.4.1beta/src/datum_stratum_dupes.c:55:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable __func__ [valueFlowBailoutIncompleteVar] datum_gateway-0.4.1beta/src/datum_stratum_dupes.c:139:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable __func__ [valueFlowBailoutIncompleteVar] datum_gateway-0.4.1beta/src/datum_stratum_dupes.c:252:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable __func__ [valueFlowBailoutIncompleteVar] datum_gateway-0.4.1beta/src/datum_stratum_dupes.c:290:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable __func__ [valueFlowBailoutIncompleteVar] datum_gateway-0.4.1beta/src/datum_utils_tests.c:45:2: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable __func__ [valueFlowBailoutIncompleteVar] datum_gateway-0.4.1beta/src/datum_utils_tests.c:65:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable __func__ [valueFlowBailoutIncompleteVar] datum_gateway-0.4.1beta/src/datum_utils_tests.c:103:2: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable __func__ [valueFlowBailoutIncompleteVar] datum_gateway-0.4.1beta/src/datum_stratum_dupes.c:116:37: warning: Either the condition 'ptr[mid].job_index>256' is redundant or the array 'global_cur_stratum_jobs[256]' is accessed at index 256, which is out of bounds. [arrayIndexOutOfBoundsCond] datum_gateway-0.4.1beta/src/datum_stratum_dupes.c:114:52: note: Assuming that condition 'ptr[mid].job_index>256' is not redundant datum_gateway-0.4.1beta/src/datum_stratum_dupes.c:116:37: note: Array index out of bounds datum_gateway-0.4.1beta/src/datum_sockets.c:78:24: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AF_INET [valueFlowBailoutIncompleteVar] datum_gateway-0.4.1beta/src/datum_sockets.c:104:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable __func__ [valueFlowBailoutIncompleteVar] datum_gateway-0.4.1beta/src/datum_sockets.c:391:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable __func__ [valueFlowBailoutIncompleteVar] datum_gateway-0.4.1beta/src/datum_sockets.c:429:4: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable __func__ [valueFlowBailoutIncompleteVar] datum_gateway-0.4.1beta/src/datum_sockets.c:598:17: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AF_UNSPEC [valueFlowBailoutIncompleteVar] datum_gateway-0.4.1beta/src/datum_sockets.c:682:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable __func__ [valueFlowBailoutIncompleteVar] datum_gateway-0.4.1beta/src/datum_sockets.c:787:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable F_GETFL [valueFlowBailoutIncompleteVar] datum_gateway-0.4.1beta/src/datum_stratum_dupes.c:251:6: style: Condition '!i' is always false [knownConditionTrueFalse] datum_gateway-0.4.1beta/src/datum_stratum_dupes.c:114:26: style: Checking if unsigned expression 'ptr[mid].job_index' is less than zero. [unsignedLessThanZero] datum_gateway-0.4.1beta/src/datum_stratum_dupes.c:50:37: style:inconclusive: Function 'datum_stratum_dupes_init' argument 1 names different: declaration 'vsdata' definition 'sdata_v'. [funcArgNamesDifferent] datum_gateway-0.4.1beta/src/datum_stratum_dupes.h:72:37: note: Function 'datum_stratum_dupes_init' argument 1 names different: declaration 'vsdata' definition 'sdata_v'. datum_gateway-0.4.1beta/src/datum_stratum_dupes.c:50:37: note: Function 'datum_stratum_dupes_init' argument 1 names different: declaration 'vsdata' definition 'sdata_v'. datum_gateway-0.4.1beta/src/datum_stratum_dupes.c:279:154: style:inconclusive: Function 'datum_stratum_check_for_dupe' argument 5 names different: declaration 'bver' definition 'version_bits'. [funcArgNamesDifferent] datum_gateway-0.4.1beta/src/datum_stratum_dupes.h:76:154: note: Function 'datum_stratum_check_for_dupe' argument 5 names different: declaration 'bver' definition 'version_bits'. datum_gateway-0.4.1beta/src/datum_stratum_dupes.c:279:154: note: Function 'datum_stratum_check_for_dupe' argument 5 names different: declaration 'bver' definition 'version_bits'. datum_gateway-0.4.1beta/src/datum_utils.c:68:10: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stderr [valueFlowBailoutIncompleteVar] datum_gateway-0.4.1beta/src/datum_utils.c:96:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable CLOCK_MONOTONIC [valueFlowBailoutIncompleteVar] datum_gateway-0.4.1beta/src/datum_utils.c:146:16: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable CLOCK_MONOTONIC [valueFlowBailoutIncompleteVar] datum_gateway-0.4.1beta/src/datum_utils.c:374:9: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable stdout [valueFlowBailoutIncompleteVar] datum_gateway-0.4.1beta/src/datum_utils.c:820:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable __func__ [valueFlowBailoutIncompleteVar] datum_gateway-0.4.1beta/src/datum_protocol.c:182:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable __func__ [valueFlowBailoutIncompleteVar] datum_gateway-0.4.1beta/src/datum_protocol.c:202:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable __func__ [valueFlowBailoutIncompleteVar] datum_gateway-0.4.1beta/src/datum_protocol.c:218:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable __func__ [valueFlowBailoutIncompleteVar] datum_gateway-0.4.1beta/src/datum_protocol.c:240:15: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable crypto_box_MACBYTES [valueFlowBailoutIncompleteVar] datum_gateway-0.4.1beta/src/datum_protocol.c:277:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable __func__ [valueFlowBailoutIncompleteVar] datum_gateway-0.4.1beta/src/datum_protocol.c:326:26: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable crypto_box_MACBYTES [valueFlowBailoutIncompleteVar] datum_gateway-0.4.1beta/src/datum_protocol.c:395:2: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable __func__ [valueFlowBailoutIncompleteVar] datum_gateway-0.4.1beta/src/datum_protocol.c:606:2: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable __func__ [valueFlowBailoutIncompleteVar] datum_gateway-0.4.1beta/src/datum_protocol.c:747:2: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable __func__ [valueFlowBailoutIncompleteVar] datum_gateway-0.4.1beta/src/datum_protocol.c:848:2: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable __func__ [valueFlowBailoutIncompleteVar] datum_gateway-0.4.1beta/src/datum_protocol.c:891:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable __func__ [valueFlowBailoutIncompleteVar] datum_gateway-0.4.1beta/src/datum_protocol.c:932:5: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable __func__ [valueFlowBailoutIncompleteVar] datum_gateway-0.4.1beta/src/datum_protocol.c:988:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable __func__ [valueFlowBailoutIncompleteVar] datum_gateway-0.4.1beta/src/datum_protocol.c:1078:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable crypto_box_SEALBYTES [valueFlowBailoutIncompleteVar] datum_gateway-0.4.1beta/src/datum_protocol.c:1098:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable crypto_box_NONCEBYTES [valueFlowBailoutIncompleteVar] datum_gateway-0.4.1beta/src/datum_protocol.c:1110:19: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable crypto_box_MACBYTES [valueFlowBailoutIncompleteVar] datum_gateway-0.4.1beta/src/datum_protocol.c:1146:73: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable crypto_sign_PUBLICKEYBYTES [valueFlowBailoutIncompleteVar] datum_gateway-0.4.1beta/src/datum_protocol.c:1198:4: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable __func__ [valueFlowBailoutIncompleteVar] datum_gateway-0.4.1beta/src/datum_protocol.c:1318:28: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable crypto_box_MACBYTES [valueFlowBailoutIncompleteVar] datum_gateway-0.4.1beta/src/datum_protocol.c:1475:20: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable AF_UNSPEC [valueFlowBailoutIncompleteVar] datum_gateway-0.4.1beta/src/datum_protocol.c:1878:12: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable crypto_sign_PUBLICKEYBYTES [valueFlowBailoutIncompleteVar] datum_gateway-0.4.1beta/src/datum_protocol.c:1897:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable __func__ [valueFlowBailoutIncompleteVar] datum_gateway-0.4.1beta/src/datum_protocol.c:1911:3: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable __func__ [valueFlowBailoutIncompleteVar] datum_gateway-0.4.1beta/src/thirdparty_base58.c:104:34: style:inconclusive: Function 'b58tobin' argument 2 names different: declaration 'binsz' definition 'binszp'. [funcArgNamesDifferent] datum_gateway-0.4.1beta/src/thirdparty_base58.h:42:41: note: Function 'b58tobin' argument 2 names different: declaration 'binsz' definition 'binszp'. datum_gateway-0.4.1beta/src/thirdparty_base58.c:104:34: note: Function 'b58tobin' argument 2 names different: declaration 'binsz' definition 'binszp'. datum_gateway-0.4.1beta/src/thirdparty_base58.c:187:57: style:inconclusive: Function 'b58check' argument 3 names different: declaration 'b58' definition 'base58str'. [funcArgNamesDifferent] datum_gateway-0.4.1beta/src/thirdparty_base58.h:43:64: note: Function 'b58check' argument 3 names different: declaration 'b58' definition 'base58str'. datum_gateway-0.4.1beta/src/thirdparty_base58.c:187:57: note: Function 'b58check' argument 3 names different: declaration 'b58' definition 'base58str'. datum_gateway-0.4.1beta/src/thirdparty_base58.c:210:51: style:inconclusive: Function 'b58enc' argument 3 names different: declaration 'bin' definition 'data'. [funcArgNamesDifferent] datum_gateway-0.4.1beta/src/thirdparty_base58.h:45:58: note: Function 'b58enc' argument 3 names different: declaration 'bin' definition 'data'. datum_gateway-0.4.1beta/src/thirdparty_base58.c:210:51: note: Function 'b58enc' argument 3 names different: declaration 'bin' definition 'data'. datum_gateway-0.4.1beta/src/thirdparty_base58.c:46:27: style: Parameter 'bin' can be declared as pointer to const [constParameterPointer] datum_gateway-0.4.1beta/src/datum_logger.c:446:6: style: Obsolescent function 'usleep' called. It is recommended to use 'nanosleep' or 'setitimer' instead. [prohibitedusleepCalled] datum_gateway-0.4.1beta/src/datum_logger.c:160:9: style: Condition 'i<99999990' is always true [knownConditionTrueFalse] datum_gateway-0.4.1beta/src/datum_logger.c:159:12: note: Assuming that condition 'i<10000000' is not redundant datum_gateway-0.4.1beta/src/datum_logger.c:160:9: note: Condition 'i<99999990' is always true datum_gateway-0.4.1beta/src/datum_logger.c:276:29: style: Condition 'dlog_queue_max_entries<1024' is always false [knownConditionTrueFalse] datum_gateway-0.4.1beta/src/datum_logger.c:275:66: note: Assignment 'dlog_queue_max_entries=((1024*1024*8)/sizeof(struct DLOG_MSG))-1', assigned value is 116507 datum_gateway-0.4.1beta/src/datum_logger.c:276:29: note: Condition 'dlog_queue_max_entries<1024' is always false datum_gateway-0.4.1beta/src/datum_logger.c:96:8: style: Parameter 'clog_file' can be declared as pointer to const [constParameterPointer] datum_gateway-0.4.1beta/src/datum_logger.c:259:13: style: Variable 'tm_info' can be declared as pointer to const [constVariablePointer] datum_gateway-0.4.1beta/src/datum_logger.c:260:12: style: Variable 'msg' can be declared as pointer to const [constVariablePointer] datum_gateway-0.4.1beta/src/thirdparty_segwit_addr.c:177:59: style:inconclusive: Function 'segwit_addr_encode' argument 3 names different: declaration 'ver' definition 'witver'. [funcArgNamesDifferent] datum_gateway-0.4.1beta/src/thirdparty_segwit_addr.h:42:9: note: Function 'segwit_addr_encode' argument 3 names different: declaration 'ver' definition 'witver'. datum_gateway-0.4.1beta/src/thirdparty_segwit_addr.c:177:59: note: Function 'segwit_addr_encode' argument 3 names different: declaration 'ver' definition 'witver'. datum_gateway-0.4.1beta/src/thirdparty_segwit_addr.c:177:82: style:inconclusive: Function 'segwit_addr_encode' argument 4 names different: declaration 'prog' definition 'witprog'. [funcArgNamesDifferent] datum_gateway-0.4.1beta/src/thirdparty_segwit_addr.h:43:20: note: Function 'segwit_addr_encode' argument 4 names different: declaration 'prog' definition 'witprog'. datum_gateway-0.4.1beta/src/thirdparty_segwit_addr.c:177:82: note: Function 'segwit_addr_encode' argument 4 names different: declaration 'prog' definition 'witprog'. datum_gateway-0.4.1beta/src/thirdparty_segwit_addr.c:177:98: style:inconclusive: Function 'segwit_addr_encode' argument 5 names different: declaration 'prog_len' definition 'witprog_len'. [funcArgNamesDifferent] datum_gateway-0.4.1beta/src/thirdparty_segwit_addr.h:44:12: note: Function 'segwit_addr_encode' argument 5 names different: declaration 'prog_len' definition 'witprog_len'. datum_gateway-0.4.1beta/src/thirdparty_segwit_addr.c:177:98: note: Function 'segwit_addr_encode' argument 5 names different: declaration 'prog_len' definition 'witprog_len'. datum_gateway-0.4.1beta/src/thirdparty_segwit_addr.c:191:29: style:inconclusive: Function 'segwit_addr_decode' argument 1 names different: declaration 'ver' definition 'witver'. [funcArgNamesDifferent] datum_gateway-0.4.1beta/src/thirdparty_segwit_addr.h:61:10: note: Function 'segwit_addr_decode' argument 1 names different: declaration 'ver' definition 'witver'. datum_gateway-0.4.1beta/src/thirdparty_segwit_addr.c:191:29: note: Function 'segwit_addr_decode' argument 1 names different: declaration 'ver' definition 'witver'. datum_gateway-0.4.1beta/src/thirdparty_segwit_addr.c:191:46: style:inconclusive: Function 'segwit_addr_decode' argument 2 names different: declaration 'prog' definition 'witdata'. [funcArgNamesDifferent] datum_gateway-0.4.1beta/src/thirdparty_segwit_addr.h:62:14: note: Function 'segwit_addr_decode' argument 2 names different: declaration 'prog' definition 'witdata'. datum_gateway-0.4.1beta/src/thirdparty_segwit_addr.c:191:46: note: Function 'segwit_addr_decode' argument 2 names different: declaration 'prog' definition 'witdata'. datum_gateway-0.4.1beta/src/thirdparty_segwit_addr.c:191:63: style:inconclusive: Function 'segwit_addr_decode' argument 3 names different: declaration 'prog_len' definition 'witdata_len'. [funcArgNamesDifferent] datum_gateway-0.4.1beta/src/thirdparty_segwit_addr.h:63:13: note: Function 'segwit_addr_decode' argument 3 names different: declaration 'prog_len' definition 'witdata_len'. datum_gateway-0.4.1beta/src/thirdparty_segwit_addr.c:191:63: note: Function 'segwit_addr_decode' argument 3 names different: declaration 'prog_len' definition 'witdata_len'. datum_gateway-0.4.1beta/src/datum_sockets.c:133:4: style: Obsolescent function 'usleep' called. It is recommended to use 'nanosleep' or 'setitimer' instead. [prohibitedusleepCalled] datum_gateway-0.4.1beta/src/datum_sockets.c:278:25: warning:inconclusive: Width 15 given in format string (no. 1) is smaller than destination buffer 'src_ip[65]'. [invalidScanfFormatWidth_smaller] datum_gateway-0.4.1beta/src/datum_sockets.c:280:22: warning:inconclusive: Width 45 given in format string (no. 1) is smaller than destination buffer 'src_ip[65]'. [invalidScanfFormatWidth_smaller] datum_gateway-0.4.1beta/src/datum_sockets.c:79:23: style: Variable 's' can be declared as pointer to const [constVariablePointer] datum_gateway-0.4.1beta/src/datum_sockets.c:85:24: style: Variable 's' can be declared as pointer to const [constVariablePointer] datum_gateway-0.4.1beta/src/datum_sockets.c:805:70: style: Parameter 's' can be declared as pointer to const [constParameterPointer] datum_gateway-0.4.1beta/src/datum_sockets.c:814:69: style: Parameter 's' can be declared as pointer to const [constParameterPointer] datum_gateway-0.4.1beta/src/datum_protocol.c:1566:4: style: Obsolescent function 'usleep' called. It is recommended to use 'nanosleep' or 'setitimer' instead. [prohibitedusleepCalled] datum_gateway-0.4.1beta/src/datum_protocol.c:1866:3: style: Obsolescent function 'usleep' called. It is recommended to use 'nanosleep' or 'setitimer' instead. [prohibitedusleepCalled] datum_gateway-0.4.1beta/src/datum_protocol.c:865:4: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] datum_gateway-0.4.1beta/src/datum_protocol.c:872:4: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] datum_gateway-0.4.1beta/src/datum_protocol.c:878:4: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] datum_gateway-0.4.1beta/src/datum_protocol.c:936:4: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] datum_gateway-0.4.1beta/src/datum_protocol.c:941:4: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] datum_gateway-0.4.1beta/src/datum_protocol.c:947:4: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] datum_gateway-0.4.1beta/src/datum_protocol.c:953:4: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] datum_gateway-0.4.1beta/src/datum_protocol.c:961:4: style: Consecutive return, break, continue, goto or throw statements are unnecessary. [duplicateBreak] datum_gateway-0.4.1beta/src/datum_protocol.c:320:42: style:inconclusive: Function 'datum_protocol_coinbaser_fetch' argument 1 names different: declaration 's' definition 'sptr'. [funcArgNamesDifferent] datum_gateway-0.4.1beta/src/datum_protocol.h:121:42: note: Function 'datum_protocol_coinbaser_fetch' argument 1 names different: declaration 's' definition 'sptr'. datum_gateway-0.4.1beta/src/datum_protocol.c:320:42: note: Function 'datum_protocol_coinbaser_fetch' argument 1 names different: declaration 's' definition 'sptr'. datum_gateway-0.4.1beta/src/datum_protocol.c:207:51: style: Parameter 's' can be declared as pointer to const [constParameterPointer] datum_gateway-0.4.1beta/src/datum_protocol.c:275:69: style: Parameter 'data' can be declared as pointer to const [constParameterPointer] datum_gateway-0.4.1beta/src/datum_protocol.c:385:59: style: Parameter 'h' can be declared as pointer to const [constParameterPointer] datum_gateway-0.4.1beta/src/datum_protocol.c:385:77: style: Parameter 'data' can be declared as pointer to const [constParameterPointer] datum_gateway-0.4.1beta/src/datum_protocol.c:390:61: style: Parameter 'data' can be declared as pointer to const [constParameterPointer] datum_gateway-0.4.1beta/src/datum_protocol.c:452:58: style: Parameter 'data' can be declared as pointer to const [constParameterPointer] datum_gateway-0.4.1beta/src/datum_protocol.c:611:63: style: Parameter 'data' can be declared as pointer to const [constParameterPointer] datum_gateway-0.4.1beta/src/datum_protocol.c:752:57: style: Parameter 'data' can be declared as pointer to const [constParameterPointer] datum_gateway-0.4.1beta/src/datum_protocol.c:926:57: style: Parameter 'h' can be declared as pointer to const [constParameterPointer] datum_gateway-0.4.1beta/src/datum_protocol.c:1127:48: style: Parameter 'a' can be declared as pointer to const [constParameterPointer] datum_gateway-0.4.1beta/src/datum_protocol.c:1127:66: style: Parameter 'b' can be declared as pointer to const [constParameterPointer] datum_gateway-0.4.1beta/src/datum_protocol.c:1135:64: style: Parameter 'h' can be declared as pointer to const [constParameterPointer] datum_gateway-0.4.1beta/src/datum_protocol.c:1288:17: style: Parameter 'extranonce' can be declared as pointer to const [constParameterPointer] datum_gateway-0.4.1beta/src/datum_protocol.c:1315:24: style: Variable 'pow' can be declared as pointer to const [constVariablePointer] datum_gateway-0.4.1beta/src/datum_protocol.c:1874:48: style: Parameter 'keys' can be declared as pointer to const [constParameterPointer] datum_gateway-0.4.1beta/src/datum_protocol.c:1406:7: style: Variable 'w' is assigned a value that is never used. [unreadVariable] datum_gateway-0.4.1beta/src/datum_protocol.c:1425:7: style: Variable 'w' is assigned a value that is never used. [unreadVariable] datum_gateway-0.4.1beta/src/datum_utils.c:609:152: style: Condition 'c=='|'' is always false [knownConditionTrueFalse] datum_gateway-0.4.1beta/src/datum_utils.c:797:2: warning: If memory allocation fails, then there is a possible null pointer dereference: out [nullPointerOutOfMemory] datum_gateway-0.4.1beta/src/datum_utils.c:795:21: note: Assuming allocation function fails datum_gateway-0.4.1beta/src/datum_utils.c:795:21: note: Assignment 'out=malloc(sz)', assigned value is 0 datum_gateway-0.4.1beta/src/datum_utils.c:797:2: note: Null pointer dereference datum_gateway-0.4.1beta/src/datum_utils.c:801:3: warning: If memory allocation fails, then there is a possible null pointer dereference: out [nullPointerOutOfMemory] datum_gateway-0.4.1beta/src/datum_utils.c:795:21: note: Assuming allocation function fails datum_gateway-0.4.1beta/src/datum_utils.c:795:21: note: Assignment 'out=malloc(sz)', assigned value is 0 datum_gateway-0.4.1beta/src/datum_utils.c:801:3: note: Null pointer dereference datum_gateway-0.4.1beta/src/datum_utils.c:609:146: style: Same expression 'c=='|'' found multiple times in chain of '||' operators. [duplicateExpression] datum_gateway-0.4.1beta/src/datum_utils.c:271:35: style:inconclusive: Function 'compare_hashes' argument 1 names different: declaration 'hash1' definition 'share_hash'. [funcArgNamesDifferent] datum_gateway-0.4.1beta/src/datum_utils.h:61:35: note: Function 'compare_hashes' argument 1 names different: declaration 'hash1' definition 'share_hash'. datum_gateway-0.4.1beta/src/datum_utils.c:271:35: note: Function 'compare_hashes' argument 1 names different: declaration 'hash1' definition 'share_hash'. datum_gateway-0.4.1beta/src/datum_utils.c:271:62: style:inconclusive: Function 'compare_hashes' argument 2 names different: declaration 'hash2' definition 'target'. [funcArgNamesDifferent] datum_gateway-0.4.1beta/src/datum_utils.h:61:57: note: Function 'compare_hashes' argument 2 names different: declaration 'hash2' definition 'target'. datum_gateway-0.4.1beta/src/datum_utils.c:271:62: note: Function 'compare_hashes' argument 2 names different: declaration 'hash2' definition 'target'. datum_gateway-0.4.1beta/src/datum_utils.c:525:31: style:inconclusive: Function 'base64_decode' argument 1 names different: declaration 'in' definition 'in_c'. [funcArgNamesDifferent] datum_gateway-0.4.1beta/src/datum_utils.h:74:31: note: Function 'base64_decode' argument 1 names different: declaration 'in' definition 'in_c'. datum_gateway-0.4.1beta/src/datum_utils.c:525:31: note: Function 'base64_decode' argument 1 names different: declaration 'in' definition 'in_c'. datum_gateway-0.4.1beta/src/datum_utils.c:75:11: style: Variable 'dividend_parts' can be declared as const array [constVariable] datum_gateway-0.4.1beta/src/datum_utils.c:229:16: style: Variable 'dividendBytes' can be declared as const array [constVariable] datum_gateway-0.4.1beta/src/datum_utils.c:384:30: style: Parameter 'bytes' can be declared as pointer to const [constParameterPointer] datum_gateway-0.4.1beta/src/datum_utils.c:813:23: style: Variable 'ent' can be declared as pointer to const [constVariablePointer] datum_gateway-0.4.1beta/src/datum_utils.c:448:14: style: Variable 'version' is assigned a value that is never used. [unreadVariable] diff: head datum_gateway-0.4.1beta/src/datum_logger.c:259:13: style: Variable 'tm_info' can be declared as pointer to const [constVariablePointer] head datum_gateway-0.4.1beta/src/datum_logger.c:260:12: style: Variable 'msg' can be declared as pointer to const [constVariablePointer] head datum_gateway-0.4.1beta/src/datum_protocol.c:1315:24: style: Variable 'pow' can be declared as pointer to const [constVariablePointer] 2.20.0 datum_gateway-0.4.1beta/src/datum_stratum_dupes.c:114:28: style: Comparing expression of type 'unsigned short' against value 0. Condition is always false. [compareValueOutOfTypeRangeError] DONE