State of the Repo Report, November 2019 #17632

issue practicalswift opened this issue on November 29, 2019
  1. practicalswift commented at 8:48 AM on November 29, 2019: contributor

    Introduction

    For all fans of statistics and static analysis – enjoy! 🤓

    843 authors (+17) have contributed to the project (merged contributions). Thank you! ❤️

    The repo contains 515 753 (+4 736) lines of text and 1 837 (+42) files.

    22 268 (+477) commits have been made of which 4 512 (+151) are merge commits.

    There are currently 324 (+42) open pull requests from in total 88 (+6) contributors.

    If all open pull requests were merged the project line count would grow by roughly 35 percent.

    The total set of open pull requests adds 211 347 lines, removes 29 493 lines and touches 3 423 distinct files.

    The "median open pull request" adds 53 lines, removes 18 lines and touches 4 files.

    Previous edition: State of the Repo, October 2019

    Static analysis report

    This is the monthly static analysis snapshot for the source tree 74631817.

    Note: Before submitting any pull requests to Bitcoin Core, please read CONTRIBUTING.md. In particular the section on refactoring, as it likely applies to changes generated with these tools:

    Trivial pull requests or pull requests that refactor the code with no clear benefits may be immediately closed by the maintainers to reduce unnecessary workload on reviewing.

    Disclaimer: These results have not been confirmed, and may be improbable or flat out invalid, but it's worth having a list of these somewhere and keep track of changes over time. The results may be subject to a large number of false positives and false negatives. The results are not necessarily complete. Please report if you see any spurious results that you think could be filtered out automatically in the next edition to reduce noise. This report is currently in beta: feedback welcome.

    Functions that are both unused and untested

    <details> <summary>9 instances (+1)</summary>

    bitcoinconsensus_version
    BlockFilter::BlockFilter(BlockFilterType, uint256 const&, std::vector<unsigned char>)
    CBlock::ToString() const
    CBloomFilter::reset(unsigned int)
    CClientUIInterface::LoadWallet(std::unique_ptr<interfaces::Wallet>&)
    Join(std::vector<std::string, std::allocator<std::string>> const&, std::string const&)::{lambda(std::string const&)#1}::_FUN(std::string const&)
    PartiallySignedTransaction::IsNull() const
    PSBTInput::IsNull() const
    PSBTOutput::IsNull() const
    

    </details>

    Functions that are unused outside of the testing code

    <details> <summary>15 instances (+0)</summary>

    base_blob<160u>::SetHex(std::string const&)
    base_blob<160u>::ToString() const
    base_uint<256u>::base_uint(std::string const&)
    base_uint<256u>::ToString() const
    bitcoinconsensus_verify_script
    bitcoinconsensus_verify_script_with_amount
    BlockFilter::BlockFilter(BlockFilterType, CBlock const&, CBlockUndo const&)
    BlockFilter::ComputeHeader(uint256 const&) const
    CBloomFilter::CBloomFilter(unsigned int, double, unsigned int, unsigned char)
    CBloomFilter::insert(uint256 const&)
    CKey::Negate()
    DecodeBase58(std::string const&, std::vector<unsigned char>&)
    GCSFilter::MatchAny(std::unordered_set<std::vector<unsigned char>, ByteVectorHash, std::equal_to<std::vector<unsigned char>>, std::allocator<std::vector<unsigned char>>> const&) const
    GCSFilter::Match(std::vector<unsigned char> const&) const
    SignSignature(SigningProvider const&, CTransaction const&, CMutableTransaction&, unsigned int, int)
    

    </details>

    Clang warnings

    <details> <summary>33 instances (+4)</summary>

    core_write.cpp:100:15: warning: result of comparison of 0 <= unsigned enum expression is always true [-Wtautological-unsigned-enum-zero-compare]
    dbwrapper.cpp:45:50: warning: format string is not a string literal [-Wformat-nonliteral]
    index/blockfilterindex.cpp:55:5: warning: unused member function 'DBHeightKey' [-Wunused-member-function]
    index/blockfilterindex.cpp:81:5: warning: unused function template 'Unserialize' [-Wunused-template]
    init.cpp:918:5: warning: loop will run at most once (loop increment never executed) [-Wunreachable-code-loop-increment]
    policy/fees.cpp:314:30: warning: comparing floating point with == or != is unsafe [-Wfloat-equal]
    policy/fees.cpp:741:45: warning: comparing floating point with == or != is unsafe [-Wfloat-equal]
    policy/fees.cpp:748:47: warning: comparing floating point with == or != is unsafe [-Wfloat-equal]
    policy/fees.cpp:847:32: warning: comparing floating point with == or != is unsafe [-Wfloat-equal]
    random.cpp:135:12: warning: variable 'r1' may be uninitialized when used here [-Wconditional-uninitialized]
    randomenv.cpp:169:5: warning: 'HAVE_SYSCTL' is not defined, evaluates to 0 [-Wundef]
    randomenv.cpp:295:5: warning: 'HAVE_SYSCTL' is not defined, evaluates to 0 [-Wundef]
    randomenv.cpp:431:5: warning: 'HAVE_SYSCTL' is not defined, evaluates to 0 [-Wundef]
    randomenv.cpp:49:5: warning: 'HAVE_SYSCTL' is not defined, evaluates to 0 [-Wundef]
    rpc/mining.cpp:289:70: warning: comparing floating point with == or != is unsafe [-Wfloat-equal]
    rpc/mining.cpp:707:7: warning: 'submitblock_StateCatcher' has virtual functions but non-virtual destructor [-Wnon-virtual-dtor]
    rpc/mining.cpp:978:36: warning: comparing floating point with == or != is unsafe [-Wfloat-equal]
    script/bitcoinconsensus.cpp:50:9: warning: unused member function 'GetType' [-Wunused-member-function]
    script/interpreter.cpp:343:28: warning: result of comparison of 0 <= unsigned enum expression is always true [-Wtautological-unsigned-enum-zero-compare]
    script/script.h:449:20: warning: result of comparison of unsigned enum expression < 0 is always false [-Wtautological-unsigned-enum-zero-compare]
    script/script.h:449:34: warning: result of comparison 'opcodetype' > 255 is always false [-Wtautological-type-limit-compare]
    txdb.h:71:5: warning: '~CCoinsViewDBCursor' overrides a destructor but is not marked 'override' [-Winconsistent-missing-destructor-override]
    txmempool.cpp:991:64: warning: comparing floating point with == or != is unsafe [-Wfloat-equal]
    txmempool.h:219:16: warning: comparing floating point with == or != is unsafe [-Wfloat-equal]
    txmempool.h:257:16: warning: comparing floating point with == or != is unsafe [-Wfloat-equal]
    txmempool.h:292:16: warning: comparing floating point with == or != is unsafe [-Wfloat-equal]
    util/strencodings.cpp:304:11: warning: result of comparison 'long long' >= -9223372036854775808 is always true [-Wtautological-type-limit-compare]
    util/strencodings.cpp:305:11: warning: result of comparison 'long long' <= 9223372036854775807 is always true [-Wtautological-type-limit-compare]
    util/strencodings.cpp:338:11: warning: result of comparison 'unsigned long long' <= 18446744073709551615 is always true [-Wtautological-type-limit-compare]
    validation.cpp:1795:7: warning: 'WarningBitsConditionChecker' has virtual functions but non-virtual destructor [-Wnon-virtual-dtor]
    versionbits.cpp:166:7: warning: '(anonymous namespace)::VersionBitsConditionChecker' has virtual functions but non-virtual destructor [-Wnon-virtual-dtor]
    versionbits.h:55:7: warning: 'AbstractThresholdConditionChecker' has virtual functions but non-virtual destructor [-Wnon-virtual-dtor]
    wallet/wallet.h:746:5: warning: '~CWallet' overrides a destructor but is not marked 'override' [-Winconsistent-missing-destructor-override]
    

    </details>

    Clang static analyzer warnings

    <details> <summary>6 warnings (+0)</summary>

    chain.h:417:24: warning: Access to field 'nHeight' results in a dereference of a null pointer (loaded from variable 'pindex')
    crypto/sha256.cpp:587:9: warning: Value stored to 'enabled_avx' is never read
    crypto/sha256.cpp:591:9: warning: Value stored to 'have_avx2' is never read
    crypto/sha256.cpp:592:9: warning: Value stored to 'have_shani' is never read
    net_processing.cpp:3718:55: warning: Called C++ object pointer is null
    validation.cpp:4259:50: warning: Access to field 'nHeight' results in a dereference of a null pointer (loaded from variable 'pindex')
    

    </details>

    Cppcheck warnings

    <details> <summary>70 instances (new version: cannot compare)</summary>

    chainparams.h:88:5: warning: Member variable 'CChainParams::chainTxData' is not initialized in the constructor. [uninitMemberVar]
    chainparams.h:88:5: warning: Member variable 'CChainParams::consensus' is not initialized in the constructor. [uninitMemberVar]
    chainparams.h:88:5: warning: Member variable 'CChainParams::fDefaultConsistencyChecks' is not initialized in the constructor. [uninitMemberVar]
    chainparams.h:88:5: warning: Member variable 'CChainParams::fRequireStandard' is not initialized in the constructor. [uninitMemberVar]
    chainparams.h:88:5: warning: Member variable 'CChainParams::m_assumed_blockchain_size' is not initialized in the constructor. [uninitMemberVar]
    chainparams.h:88:5: warning: Member variable 'CChainParams::m_assumed_chain_state_size' is not initialized in the constructor. [uninitMemberVar]
    chainparams.h:88:5: warning: Member variable 'CChainParams::m_is_test_chain' is not initialized in the constructor. [uninitMemberVar]
    chainparams.h:88:5: warning: Member variable 'CChainParams::nDefaultPort' is not initialized in the constructor. [uninitMemberVar]
    chainparams.h:88:5: warning: Member variable 'CChainParams::nPruneAfterHeight' is not initialized in the constructor. [uninitMemberVar]
    chainparams.h:88:5: warning: Member variable 'CChainParams::pchMessageStart' is not initialized in the constructor. [uninitMemberVar]
    checkqueue.h:93:29: warning: Identical inner 'if' condition is always true. [identicalInnerCondition]
    crypto/chacha_poly_aead.cpp:30:23: warning: Member variable 'ChaCha20Poly1305AEAD::m_aad_keystream_buffer' is not initialized in the constructor. [uninitMemberVar]
    crypto/ripemd160.cpp:242:13: warning: Member variable 'CRIPEMD160::buf' is not initialized in the constructor. [uninitMemberVar]
    crypto/sha1.cpp:149:8: warning: Member variable 'CSHA1::buf' is not initialized in the constructor. [uninitMemberVar]
    crypto/sha256.cpp:632:10: warning: Member variable 'CSHA256::buf' is not initialized in the constructor. [uninitMemberVar]
    crypto/sha512.cpp:154:10: warning: Member variable 'CSHA512::buf' is not initialized in the constructor. [uninitMemberVar]
    interfaces/chain.cpp:160:10: warning: Virtual function 'disconnect' is called from destructor '~NotificationsHandlerImpl()' at line 159. Dynamic binding is not used. [virtualCallInConstructor]
    interfaces/chain.cpp:219:10: warning: Virtual function 'disconnect' is called from destructor '~RpcHandlerImpl()' at line 227. Dynamic binding is not used. [virtualCallInConstructor]
    key_io.cpp:173:12: error: Uninitialized variable: key [uninitvar]
    key_io.cpp:196:12: error: Uninitialized variable: key [uninitvar]
    limitedmap.h:43:27: warning: Found suspicious operator ',' [constStatement]
    limitedmap.h:54:0: warning: Found suspicious operator ',' [constStatement]
    limitedmap.h:57:32: warning: Found suspicious operator ',' [constStatement]
    limitedmap.h:72:0: warning: Found suspicious operator ',' [constStatement]
    limitedmap.h:76:32: warning: Found suspicious operator ',' [constStatement]
    miner.cpp:48:17: warning: Member variable 'BlockAssembler::fIncludeWitness' is not initialized in the constructor. [uninitMemberVar]
    miner.cpp:48:17: warning: Member variable 'BlockAssembler::nBlockSigOpsCost' is not initialized in the constructor. [uninitMemberVar]
    miner.cpp:48:17: warning: Member variable 'BlockAssembler::nBlockTx' is not initialized in the constructor. [uninitMemberVar]
    miner.cpp:48:17: warning: Member variable 'BlockAssembler::nBlockWeight' is not initialized in the constructor. [uninitMemberVar]
    miner.cpp:48:17: warning: Member variable 'BlockAssembler::nFees' is not initialized in the constructor. [uninitMemberVar]
    miner.cpp:48:17: warning: Member variable 'BlockAssembler::nHeight' is not initialized in the constructor. [uninitMemberVar]
    miner.cpp:48:17: warning: Member variable 'BlockAssembler::nLockTimeCutoff' is not initialized in the constructor. [uninitMemberVar]
    miner.cpp:48:17: warning: Member variable 'BlockAssembler::pblock' is not initialized in the constructor. [uninitMemberVar]
    miner.cpp:70:17: warning: Member variable 'BlockAssembler::fIncludeWitness' is not initialized in the constructor. [uninitMemberVar]
    miner.cpp:70:17: warning: Member variable 'BlockAssembler::nBlockSigOpsCost' is not initialized in the constructor. [uninitMemberVar]
    miner.cpp:70:17: warning: Member variable 'BlockAssembler::nBlockTx' is not initialized in the constructor. [uninitMemberVar]
    miner.cpp:70:17: warning: Member variable 'BlockAssembler::nBlockWeight' is not initialized in the constructor. [uninitMemberVar]
    miner.cpp:70:17: warning: Member variable 'BlockAssembler::nFees' is not initialized in the constructor. [uninitMemberVar]
    miner.cpp:70:17: warning: Member variable 'BlockAssembler::nHeight' is not initialized in the constructor. [uninitMemberVar]
    miner.cpp:70:17: warning: Member variable 'BlockAssembler::nLockTimeCutoff' is not initialized in the constructor. [uninitMemberVar]
    miner.cpp:70:17: warning: Member variable 'BlockAssembler::pblock' is not initialized in the constructor. [uninitMemberVar]
    net.cpp:2179:11: warning: Member variable 'CConnman::fMsgProcWake' is not initialized in the constructor. [uninitMemberVar]
    net.cpp:2179:11: warning: Member variable 'CConnman::nMaxOutboundCycleStartTime' is not initialized in the constructor. [uninitMemberVar]
    net.cpp:2179:11: warning: Member variable 'CConnman::nMaxOutboundTotalBytesSentInCycle' is not initialized in the constructor. [uninitMemberVar]
    net.cpp:2179:11: warning: Member variable 'CConnman::nTotalBytesRecv' is not initialized in the constructor. [uninitMemberVar]
    net.cpp:2179:11: warning: Member variable 'CConnman::nTotalBytesSent' is not initialized in the constructor. [uninitMemberVar]
    net_processing.cpp:1356:99: error: Iterators of different containers are used together. [mismatchingContainers]
    net_processing.cpp:884:17: error: Same iterator is used with different containers 'mapOrphanTransactions' and 'itPrev.second'. [iterators1]
    pubkey.h:103:14: warning: Member variable 'CPubKey::vch' is not initialized in the constructor. [uninitMemberVar]
    pubkey.h:97:5: warning: Member variable 'CPubKey::vch' is not initialized in the constructor. [uninitMemberVar]
    random.cpp:608:20: warning: Member variable 'FastRandomContext::bitbuf' is not initialized in the constructor. [uninitMemberVar]
    random.cpp:608:20: warning: Member variable 'FastRandomContext::bytebuf' is not initialized in the constructor. [uninitMemberVar]
    random.cpp:659:20: warning: Member variable 'FastRandomContext::bitbuf' is not initialized in the constructor. [uninitMemberVar]
    random.cpp:659:20: warning: Member variable 'FastRandomContext::bytebuf' is not initialized in the constructor. [uninitMemberVar]
    script/descriptor.cpp:397:47: warning: Possible null pointer dereference: arg [nullPointer]
    txdb.cpp:316:26: error: Uninitialized variable: nVersionDummy [uninitvar]
    txmempool.cpp:22:18: warning: Member variable 'CTxMemPoolEntry::vTxHashesIdx' is not initialized in the constructor. [uninitMemberVar]
    undo.h:57:30: error: Uninitialized variable: nVersionDummy [uninitvar]
    validation.cpp:1703:107: warning: Comparison of a boolean expression with an integer. [compareBoolExpressionWithInt]
    validation.cpp:2196:18: warning: Assert statement calls a function which may have desired side effects: 'CanFlushToDisk'. [assertWithSideEffect]
    validation.cpp:466:9: warning: Member variable 'Workspace::m_conflicting_fees' is not initialized in the constructor. [uninitMemberVar]
    validation.cpp:466:9: warning: Member variable 'Workspace::m_conflicting_size' is not initialized in the constructor. [uninitMemberVar]
    validation.cpp:466:9: warning: Member variable 'Workspace::m_modified_fees' is not initialized in the constructor. [uninitMemberVar]
    validation.cpp:466:9: warning: Member variable 'Workspace::m_replacement_transaction' is not initialized in the constructor. [uninitMemberVar]
    validation.h:340:5: warning: Member variable 'CScriptCheck::txdata' is not initialized in the constructor. [uninitMemberVar]
    wallet/rpcwallet.cpp:1502:9: error: Using iterator to local container 'arrTmp' that may be invalid. [invalidContainer]
    wallet/wallet.h:318:5: warning: Member variable 'CWalletTx::m_amounts' is not initialized in the constructor. [uninitMemberVar]
    wallet/wallet.h:737:5: warning: Member variable 'CWallet::mapCryptedKeys' is not initialized in the constructor. [uninitMemberVar]
    wallet/wallet.h:737:5: warning: Member variable 'CWallet::mapWatchKeys' is not initialized in the constructor. [uninitMemberVar]
    

    </details>

    Signed integer assumptions made by the GCC optimizer

    <details> <summary>53 instances (+1)</summary>

    addrman.cpp:295:25: warning: assuming signed overflow does not occur when simplifying conditional [-Wstrict-overflow]
    addrman.cpp:350:11: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
    arith_uint256.cpp:29:31: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
    arith_uint256.cpp:46:28: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
    arith_uint256.cpp:67:18: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
    arith_uint256.cpp:96:18: warning: assuming signed overflow does not occur when simplifying conditional to constant [-Wstrict-overflow]
    arith_uint256.cpp:96:18: warning: assuming signed overflow does not occur when simplifying conditional [-Wstrict-overflow]
    blockencodings.cpp:49:12: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
    blockencodings.cpp:97:9: warning: assuming signed overflow does not occur when simplifying conditional [-Wstrict-overflow]
    chain.cpp:171:1: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
    chain.cpp:84:20: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
    consensus/tx_verify.cpp:194:5: warning: assuming signed overflow does not occur when simplifying conditional [-Wstrict-overflow]
    consensus/tx_verify.cpp:200:1: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
    crypto/aes.cpp:78:1: warning: assuming signed overflow does not occur when reducing constant in comparison [-Wstrict-overflow]
    crypto/ctaes/ctaes.c:447:1: warning: assuming signed overflow does not occur when reducing constant in comparison [-Wstrict-overflow]
    dbwrapper.cpp:41:17: warning: assuming pointer wraparound does not occur when comparing P +- C1 with P +- C2 [-Wstrict-overflow]
    init.cpp:1825:1: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
    key.cpp:43:5: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
    netaddress.cpp:804:14: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
    net.cpp:2784:1: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
    net_processing.cpp:3621:115: warning: assuming signed overflow does not occur when reducing constant in comparison [-Wstrict-overflow]
    net_processing.cpp:4100:1: warning: assuming signed overflow does not occur when reducing constant in comparison [-Wstrict-overflow]
    net_processing.cpp:4112:63: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
    net_processing.cpp:597:5: warning: assuming signed overflow does not occur when simplifying conditional to constant [-Wstrict-overflow]
    policy/fees.cpp:725:25: warning: assuming signed overflow does not occur when simplifying conditional to constant [-Wstrict-overflow]
    random.cpp:613:6: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
    rpc/net.cpp:430:20: warning: assuming signed overflow does not occur when simplifying range test [-Wstrict-overflow]
    rpc/server.cpp:397:31: warning: assuming signed overflow does not occur when simplifying conditional [-Wstrict-overflow]
    rpc/util.cpp:695:1: warning: assuming signed overflow does not occur when reducing constant in comparison [-Wstrict-overflow]
    script/descriptor.cpp:133:5: warning: assuming signed overflow does not occur when simplifying conditional to constant [-Wstrict-overflow]
    script/descriptor.cpp:133:5: warning: assuming signed overflow does not occur when simplifying conditional [-Wstrict-overflow]
    script/interpreter.cpp:281:6: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
    script/script.h:332:33: warning: assuming signed overflow does not occur when simplifying conditional [-Wstrict-overflow]
    script/script.h:351:29: warning: assuming signed overflow does not occur when simplifying conditional [-Wstrict-overflow]
    script/script.h:352:14: warning: assuming signed overflow does not occur when simplifying conditional [-Wstrict-overflow]
    serialize.h:389:9: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
    serialize.h:389:9: warning: assuming signed overflow does not occur when simplifying conditional [-Wstrict-overflow]
    util/moneystr.cpp:11:13: warning: assuming signed overflow does not occur when determining that expression is always non-negative [-Wstrict-overflow]
    util/moneystr.cpp:76:1: warning: assuming signed overflow does not occur when determining that expression is always non-negative [-Wstrict-overflow]
    util/strencodings.cpp:446:24: warning: assuming signed overflow does not occur when simplifying conditional to constant [-Wstrict-overflow]
    util/strencodings.cpp:446:24: warning: assuming signed overflow does not occur when simplifying conditional [-Wstrict-overflow]
    wallet/coinselection.cpp:184:35: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
    wallet/coinselection.cpp:261:64: warning: assuming signed overflow does not occur when reducing constant in comparison [-Wstrict-overflow]
    wallet/coinselection.cpp:268:59: warning: assuming signed overflow does not occur when reducing constant in comparison [-Wstrict-overflow]
    wallet/coinselection.cpp:291:1: warning: assuming signed overflow does not occur when reducing constant in comparison [-Wstrict-overflow]
    wallet/rpcdump.cpp:1448:1: warning: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C2 -+ C1 [-Wstrict-overflow]
    wallet/scriptpubkeyman.cpp:1071:9: warning: assuming signed overflow does not occur when simplifying conditional [-Wstrict-overflow]
    wallet/wallet.cpp:1694:1: warning: assuming signed overflow does not occur when reducing constant in comparison [-Wstrict-overflow]
    wallet/wallet.cpp:1963:5: warning: assuming signed overflow does not occur when simplifying conditional [-Wstrict-overflow]
    wallet/wallet.cpp:1966:1: warning: assuming signed overflow does not occur when reducing constant in comparison [-Wstrict-overflow]
    wallet/wallet.cpp:2549:9: warning: assuming signed overflow does not occur when simplifying conditional to constant [-Wstrict-overflow]
    wallet/wallet.cpp:2904:1: warning: assuming signed overflow does not occur when reducing constant in comparison [-Wstrict-overflow]
    wallet/wallet.cpp:641:13: warning: assuming signed overflow does not occur when simplifying conditional to constant [-Wstrict-overflow]
    

    </details>

    Suggested code changes waiting for review (grouped by author)

    # Username Lines added Lines removed Net lines Files chgd Pull reqs
    1 TheBlueMatt 132&nbsp;035&nbsp;(62%) -1&nbsp;526 130&nbsp;509 758 10&nbsp;(3%)
    2 Sjors 15&nbsp;228&nbsp;(7%) -2&nbsp;402 12&nbsp;826 141 20&nbsp;(6%)
    3 laanwj 11&nbsp;677&nbsp;(6%) -8&nbsp;346 3&nbsp;331 234 6&nbsp;(2%)
    4 ryanofsky 9&nbsp;853&nbsp;(5%) -2&nbsp;546 7&nbsp;307 163 17&nbsp;(5%)
    5 achow101 5&nbsp;672&nbsp;(3%) -2&nbsp;159 3&nbsp;513 92 18&nbsp;(6%)
    6 jonasschnelli 3&nbsp;515&nbsp;(2%) -455 3&nbsp;060 38 9&nbsp;(3%)
    7 sipa 2&nbsp;886&nbsp;(1%) -996 1&nbsp;890 57 5&nbsp;(2%)
    8 kallewoof 2&nbsp;437&nbsp;(1%) -354 2&nbsp;083 67 6&nbsp;(2%)
    9 jamesob 2&nbsp;206&nbsp;(1%) -434 1&nbsp;772 30 3&nbsp;(1%)
    10 luke-jr 2&nbsp;056&nbsp;(1%) -519 1&nbsp;537 98 22&nbsp;(7%)
    11 MarcoFalke 1&nbsp;689&nbsp;(1%) -641 1&nbsp;048 89 15&nbsp;(5%)
    12 icota 1&nbsp;674&nbsp;(1%) -36 1&nbsp;638 25 3&nbsp;(1%)
    13 jl2012 1&nbsp;620&nbsp;(1%) -1&nbsp;537 83 9 2&nbsp;(1%)
    14 practicalswift 1&nbsp;443&nbsp;(1%) -292 1&nbsp;151 25 10&nbsp;(3%)
    15 dongcarl 1&nbsp;084&nbsp;(1%) -673 411 33 5&nbsp;(2%)
    16 Christewart 991&nbsp;(0%) -24 967 18 1&nbsp;(0%)
    17 marcinja 832&nbsp;(0%) -109 723 31 2&nbsp;(1%)
    18 jimpo 813&nbsp;(0%) -24 789 13 1&nbsp;(0%)
    19 promag 773&nbsp;(0%) -301 472 54 17&nbsp;(5%)
    20 LarryRuane 769&nbsp;(0%) -278 491 24 4&nbsp;(1%)
    21 hebasto 751&nbsp;(0%) -513 238 92 12&nbsp;(4%)
    22 jnewbery 701&nbsp;(0%) -771 -70 32 8&nbsp;(2%)
    23 Empact 675&nbsp;(0%) -379 296 68 13&nbsp;(4%)
    24 amitiuttarwar 651&nbsp;(0%) -101 550 16 1&nbsp;(0%)
    25 ajtowns 628&nbsp;(0%) -217 411 27 5&nbsp;(2%)
    26 JeremyRubin 600&nbsp;(0%) -304 296 18 4&nbsp;(1%)
    27 darosior 579&nbsp;(0%) -320 259 44 2&nbsp;(1%)
    28 naumenkogs 574&nbsp;(0%) -92 482 14 2&nbsp;(1%)
    29 meshcollider 559&nbsp;(0%) -93 466 18 3&nbsp;(1%)
    30 sdaftuar 528&nbsp;(0%) -104 424 11 2&nbsp;(1%)
    31 ariard 512&nbsp;(0%) -547 -35 13 4&nbsp;(1%)
    32 fingera 478&nbsp;(0%) -9 469 4 1&nbsp;(0%)
    33 jonatack 428&nbsp;(0%) -231 197 22 5&nbsp;(2%)
    34 vasild 329&nbsp;(0%) -110 219 10 2&nbsp;(1%)
    35 jtimon 318&nbsp;(0%) -235 83 33 6&nbsp;(2%)
    36 andrewtoth 295&nbsp;(0%) -134 161 4 2&nbsp;(1%)
    37 jkczyz 283&nbsp;(0%) -344 -61 28 4&nbsp;(1%)
    38 mzumsande 271&nbsp;(0%) -127 144 14 2&nbsp;(1%)
    39 domob1812 269&nbsp;(0%) -120 149 12 2&nbsp;(1%)
    40 hosseinamin 261&nbsp;(0%) -43 218 3 1&nbsp;(0%)
    41 martinus 199&nbsp;(0%) -71 128 10 1&nbsp;(0%)
    42 instagibbs 194&nbsp;(0%) -55 139 32 5&nbsp;(2%)
    43 fanquake 193&nbsp;(0%) -168 25 12 4&nbsp;(1%)
    44 benthecarman 173&nbsp;(0%) -13 160 10 3&nbsp;(1%)
    45 emilengler 162&nbsp;(0%) -7 155 4 1&nbsp;(0%)
    46 FelixWeis 135&nbsp;(0%) -101 34 4 1&nbsp;(0%)
    47 AkioNak 133&nbsp;(0%) -89 44 4 1&nbsp;(0%)
    48 ch4ot1c 120&nbsp;(0%) -152 -32 4 2&nbsp;(1%)
    49 metalicjames 98&nbsp;(0%) -4 94 4 1&nbsp;(0%)
    50 brakmic 97&nbsp;(0%) -16 81 6 2&nbsp;(1%)
    51 n2yen 86&nbsp;(0%) -9 77 5 1&nbsp;(0%)
    52 RandyMcMillan 80&nbsp;(0%) -46 34 5 1&nbsp;(0%)
    53 IntegralTeam 79&nbsp;(0%) -3 76 3 1&nbsp;(0%)
    54 theStack 74&nbsp;(0%) -26 48 6 6&nbsp;(2%)
    55 mmachicao 51&nbsp;(0%) -49 2 6 1&nbsp;(0%)
    56 lucayepa 48&nbsp;(0%) -26 22 1 2&nbsp;(1%)
    57 IPGlider 40&nbsp;(0%) -15 25 15 1&nbsp;(0%)
    58 shannon1916 39&nbsp;(0%) -9 30 4 1&nbsp;(0%)
    59 davereikher 37&nbsp;(0%) -6 31 2 1&nbsp;(0%)
    60 Bushstar 32&nbsp;(0%) -45 -13 6 2&nbsp;(1%)
    61 adamjonas 31&nbsp;(0%) -14 17 5 1&nbsp;(0%)
    62 btcdrak 30&nbsp;(0%) -25 5 4 1&nbsp;(0%)
    63 Rjected 28&nbsp;(0%) -2 26 1 1&nbsp;(0%)
    64 elichai 27&nbsp;(0%) -3 24 3 2&nbsp;(1%)
    65 carnhofdaki 25&nbsp;(0%) -1 24 1 1&nbsp;(0%)
    66 dspicher 23&nbsp;(0%) -1 22 1 1&nbsp;(0%)
    67 mruddy 22&nbsp;(0%) -2 20 2 1&nbsp;(0%)
    68 shargon 16&nbsp;(0%) -1 15 1 1&nbsp;(0%)
    69 tryphe 15&nbsp;(0%) -16 -1 2 1&nbsp;(0%)
    70 lucash-dev 14&nbsp;(0%) -5 9 2 1&nbsp;(0%)
    71 candrews 13&nbsp;(0%) -7 6 1 1&nbsp;(0%)
    72 za-kk 13&nbsp;(0%) -3 10 3 1&nbsp;(0%)
    73 KaanKC 11&nbsp;(0%) -1 10 1 1&nbsp;(0%)
    74 Xekyo 11&nbsp;(0%) -7 4 4 1&nbsp;(0%)
    75 sanket1729 11&nbsp;(0%) -3 8 1 1&nbsp;(0%)
    76 jameshilliard 8&nbsp;(0%) -3 5 3 1&nbsp;(0%)
    77 HAOYUatHZ 7&nbsp;(0%) -8 -1 1 1&nbsp;(0%)
    78 pstratem 6&nbsp;(0%) -5 1 1 1&nbsp;(0%)
    79 gr0kchain 5&nbsp;(0%) -1 4 1 1&nbsp;(0%)
    80 d3spwn 4&nbsp;(0%) -2 2 2 1&nbsp;(0%)
    81 Zero-1729 3&nbsp;(0%) -6 -3 2 1&nbsp;(0%)
    82 birtony 3&nbsp;(0%) -3 0 2 1&nbsp;(0%)
    83 qubenix 3&nbsp;(0%) -4 -1 1 1&nbsp;(0%)
    84 mxaddict 2&nbsp;(0%) -2 0 1 1&nbsp;(0%)
    85 HashUnlimited 1&nbsp;(0%) -2 -1 1 1&nbsp;(0%)
    86 ernestognw 1&nbsp;(0%) -2 -1 1 1&nbsp;(0%)
    87 sandakersmann 1&nbsp;(0%) -2 -1 1 1&nbsp;(0%)
    88 wodry 0&nbsp;(0%) -6 -6 2 1&nbsp;(0%)
  2. MarcoFalke commented at 8:12 PM on December 3, 2019: member

    Looks like there are false positives for unused functions. Both LoadWallet and Join are used.

  3. practicalswift commented at 9:43 AM on December 4, 2019: contributor

    @MarcoFalke Thanks! I'll investigate.

  4. fanquake closed this on Dec 31, 2019

  5. DrahtBot locked this on Dec 16, 2021

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-04-15 00:14 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me