Flawfinder version 2.0.10, (C) 2001-2019 David A. Wheeler.
Number of rules (primarily dangerous function names) in C/C++ ruleset: 223
Examining data/bitcoin-0.18.1~dfsg/build_msvc/bitcoin_config.h
Examining data/bitcoin-0.18.1~dfsg/build_msvc/libsecp256k1_config.h
Examining data/bitcoin-0.18.1~dfsg/build_msvc/testconsensus/testconsensus.cpp
Examining data/bitcoin-0.18.1~dfsg/src/addrdb.cpp
Examining data/bitcoin-0.18.1~dfsg/src/addrdb.h
Examining data/bitcoin-0.18.1~dfsg/src/addrman.cpp
Examining data/bitcoin-0.18.1~dfsg/src/addrman.h
Examining data/bitcoin-0.18.1~dfsg/src/amount.h
Examining data/bitcoin-0.18.1~dfsg/src/arith_uint256.cpp
Examining data/bitcoin-0.18.1~dfsg/src/arith_uint256.h
Examining data/bitcoin-0.18.1~dfsg/src/attributes.h
Examining data/bitcoin-0.18.1~dfsg/src/banman.cpp
Examining data/bitcoin-0.18.1~dfsg/src/banman.h
Examining data/bitcoin-0.18.1~dfsg/src/base58.cpp
Examining data/bitcoin-0.18.1~dfsg/src/base58.h
Examining data/bitcoin-0.18.1~dfsg/src/bech32.cpp
Examining data/bitcoin-0.18.1~dfsg/src/bech32.h
Examining data/bitcoin-0.18.1~dfsg/src/bench/base58.cpp
Examining data/bitcoin-0.18.1~dfsg/src/bench/bech32.cpp
Examining data/bitcoin-0.18.1~dfsg/src/bench/bench.cpp
Examining data/bitcoin-0.18.1~dfsg/src/bench/bench.h
Examining data/bitcoin-0.18.1~dfsg/src/bench/bench_bitcoin.cpp
Examining data/bitcoin-0.18.1~dfsg/src/bench/block_assemble.cpp
Examining data/bitcoin-0.18.1~dfsg/src/bench/ccoins_caching.cpp
Examining data/bitcoin-0.18.1~dfsg/src/bench/checkblock.cpp
Examining data/bitcoin-0.18.1~dfsg/src/bench/checkqueue.cpp
Examining data/bitcoin-0.18.1~dfsg/src/bench/coin_selection.cpp
Examining data/bitcoin-0.18.1~dfsg/src/bench/crypto_hash.cpp
Examining data/bitcoin-0.18.1~dfsg/src/bench/duplicate_inputs.cpp
Examining data/bitcoin-0.18.1~dfsg/src/bench/examples.cpp
Examining data/bitcoin-0.18.1~dfsg/src/bench/gcs_filter.cpp
Examining data/bitcoin-0.18.1~dfsg/src/bench/lockedpool.cpp
Examining data/bitcoin-0.18.1~dfsg/src/bench/mempool_eviction.cpp
Examining data/bitcoin-0.18.1~dfsg/src/bench/merkle_root.cpp
Examining data/bitcoin-0.18.1~dfsg/src/bench/prevector.cpp
Examining data/bitcoin-0.18.1~dfsg/src/bench/rollingbloom.cpp
Examining data/bitcoin-0.18.1~dfsg/src/bench/verify_script.cpp
Examining data/bitcoin-0.18.1~dfsg/src/bitcoin-cli.cpp
Examining data/bitcoin-0.18.1~dfsg/src/bitcoin-tx.cpp
Examining data/bitcoin-0.18.1~dfsg/src/bitcoin-wallet.cpp
Examining data/bitcoin-0.18.1~dfsg/src/bitcoind.cpp
Examining data/bitcoin-0.18.1~dfsg/src/blockencodings.cpp
Examining data/bitcoin-0.18.1~dfsg/src/blockencodings.h
Examining data/bitcoin-0.18.1~dfsg/src/blockfilter.cpp
Examining data/bitcoin-0.18.1~dfsg/src/blockfilter.h
Examining data/bitcoin-0.18.1~dfsg/src/bloom.cpp
Examining data/bitcoin-0.18.1~dfsg/src/bloom.h
Examining data/bitcoin-0.18.1~dfsg/src/chain.cpp
Examining data/bitcoin-0.18.1~dfsg/src/chain.h
Examining data/bitcoin-0.18.1~dfsg/src/chainparams.cpp
Examining data/bitcoin-0.18.1~dfsg/src/chainparams.h
Examining data/bitcoin-0.18.1~dfsg/src/chainparamsbase.cpp
Examining data/bitcoin-0.18.1~dfsg/src/chainparamsbase.h
Examining data/bitcoin-0.18.1~dfsg/src/chainparamsseeds.h
Examining data/bitcoin-0.18.1~dfsg/src/checkpoints.cpp
Examining data/bitcoin-0.18.1~dfsg/src/checkpoints.h
Examining data/bitcoin-0.18.1~dfsg/src/checkqueue.h
Examining data/bitcoin-0.18.1~dfsg/src/clientversion.cpp
Examining data/bitcoin-0.18.1~dfsg/src/clientversion.h
Examining data/bitcoin-0.18.1~dfsg/src/coins.cpp
Examining data/bitcoin-0.18.1~dfsg/src/coins.h
Examining data/bitcoin-0.18.1~dfsg/src/compat.h
Examining data/bitcoin-0.18.1~dfsg/src/compat/assumptions.h
Examining data/bitcoin-0.18.1~dfsg/src/compat/byteswap.h
Examining data/bitcoin-0.18.1~dfsg/src/compat/endian.h
Examining data/bitcoin-0.18.1~dfsg/src/compat/glibc_compat.cpp
Examining data/bitcoin-0.18.1~dfsg/src/compat/glibc_sanity.cpp
Examining data/bitcoin-0.18.1~dfsg/src/compat/glibcxx_sanity.cpp
Examining data/bitcoin-0.18.1~dfsg/src/compat/sanity.h
Examining data/bitcoin-0.18.1~dfsg/src/compat/strnlen.cpp
Examining data/bitcoin-0.18.1~dfsg/src/compressor.cpp
Examining data/bitcoin-0.18.1~dfsg/src/compressor.h
Examining data/bitcoin-0.18.1~dfsg/src/consensus/consensus.h
Examining data/bitcoin-0.18.1~dfsg/src/consensus/merkle.cpp
Examining data/bitcoin-0.18.1~dfsg/src/consensus/merkle.h
Examining data/bitcoin-0.18.1~dfsg/src/consensus/params.h
Examining data/bitcoin-0.18.1~dfsg/src/consensus/tx_verify.cpp
Examining data/bitcoin-0.18.1~dfsg/src/consensus/tx_verify.h
Examining data/bitcoin-0.18.1~dfsg/src/consensus/validation.h
Examining data/bitcoin-0.18.1~dfsg/src/core_io.h
Examining data/bitcoin-0.18.1~dfsg/src/core_memusage.h
Examining data/bitcoin-0.18.1~dfsg/src/core_read.cpp
Examining data/bitcoin-0.18.1~dfsg/src/core_write.cpp
Examining data/bitcoin-0.18.1~dfsg/src/crypto/aes.cpp
Examining data/bitcoin-0.18.1~dfsg/src/crypto/aes.h
Examining data/bitcoin-0.18.1~dfsg/src/crypto/chacha20.cpp
Examining data/bitcoin-0.18.1~dfsg/src/crypto/chacha20.h
Examining data/bitcoin-0.18.1~dfsg/src/crypto/common.h
Examining data/bitcoin-0.18.1~dfsg/src/crypto/ctaes/bench.c
Examining data/bitcoin-0.18.1~dfsg/src/crypto/ctaes/ctaes.c
Examining data/bitcoin-0.18.1~dfsg/src/crypto/ctaes/ctaes.h
Examining data/bitcoin-0.18.1~dfsg/src/crypto/ctaes/test.c
Examining data/bitcoin-0.18.1~dfsg/src/crypto/hmac_sha256.cpp
Examining data/bitcoin-0.18.1~dfsg/src/crypto/hmac_sha256.h
Examining data/bitcoin-0.18.1~dfsg/src/crypto/hmac_sha512.cpp
Examining data/bitcoin-0.18.1~dfsg/src/crypto/hmac_sha512.h
Examining data/bitcoin-0.18.1~dfsg/src/crypto/ripemd160.cpp
Examining data/bitcoin-0.18.1~dfsg/src/crypto/ripemd160.h
Examining data/bitcoin-0.18.1~dfsg/src/crypto/sha1.cpp
Examining data/bitcoin-0.18.1~dfsg/src/crypto/sha1.h
Examining data/bitcoin-0.18.1~dfsg/src/crypto/sha256.cpp
Examining data/bitcoin-0.18.1~dfsg/src/crypto/sha256.h
Examining data/bitcoin-0.18.1~dfsg/src/crypto/sha256_avx2.cpp
Examining data/bitcoin-0.18.1~dfsg/src/crypto/sha256_shani.cpp
Examining data/bitcoin-0.18.1~dfsg/src/crypto/sha256_sse4.cpp
Examining data/bitcoin-0.18.1~dfsg/src/crypto/sha256_sse41.cpp
Examining data/bitcoin-0.18.1~dfsg/src/crypto/sha512.cpp
Examining data/bitcoin-0.18.1~dfsg/src/crypto/sha512.h
Examining data/bitcoin-0.18.1~dfsg/src/crypto/siphash.cpp
Examining data/bitcoin-0.18.1~dfsg/src/crypto/siphash.h
Examining data/bitcoin-0.18.1~dfsg/src/cuckoocache.h
Examining data/bitcoin-0.18.1~dfsg/src/dbwrapper.h
Examining data/bitcoin-0.18.1~dfsg/src/dummywallet.cpp
Examining data/bitcoin-0.18.1~dfsg/src/fs.cpp
Examining data/bitcoin-0.18.1~dfsg/src/fs.h
Examining data/bitcoin-0.18.1~dfsg/src/hash.cpp
Examining data/bitcoin-0.18.1~dfsg/src/hash.h
Examining data/bitcoin-0.18.1~dfsg/src/httprpc.cpp
Examining data/bitcoin-0.18.1~dfsg/src/httprpc.h
Examining data/bitcoin-0.18.1~dfsg/src/httpserver.cpp
Examining data/bitcoin-0.18.1~dfsg/src/httpserver.h
Examining data/bitcoin-0.18.1~dfsg/src/index/base.cpp
Examining data/bitcoin-0.18.1~dfsg/src/index/base.h
Examining data/bitcoin-0.18.1~dfsg/src/index/txindex.cpp
Examining data/bitcoin-0.18.1~dfsg/src/index/txindex.h
Examining data/bitcoin-0.18.1~dfsg/src/indirectmap.h
Examining data/bitcoin-0.18.1~dfsg/src/init.cpp
Examining data/bitcoin-0.18.1~dfsg/src/init.h
Examining data/bitcoin-0.18.1~dfsg/src/interfaces/chain.cpp
Examining data/bitcoin-0.18.1~dfsg/src/interfaces/chain.h
Examining data/bitcoin-0.18.1~dfsg/src/interfaces/handler.cpp
Examining data/bitcoin-0.18.1~dfsg/src/interfaces/handler.h
Examining data/bitcoin-0.18.1~dfsg/src/interfaces/node.cpp
Examining data/bitcoin-0.18.1~dfsg/src/interfaces/node.h
Examining data/bitcoin-0.18.1~dfsg/src/interfaces/wallet.cpp
Examining data/bitcoin-0.18.1~dfsg/src/interfaces/wallet.h
Examining data/bitcoin-0.18.1~dfsg/src/key.cpp
Examining data/bitcoin-0.18.1~dfsg/src/key.h
Examining data/bitcoin-0.18.1~dfsg/src/key_io.cpp
Examining data/bitcoin-0.18.1~dfsg/src/key_io.h
Examining data/bitcoin-0.18.1~dfsg/src/keystore.cpp
Examining data/bitcoin-0.18.1~dfsg/src/keystore.h
Examining data/bitcoin-0.18.1~dfsg/src/limitedmap.h
Examining data/bitcoin-0.18.1~dfsg/src/logging.cpp
Examining data/bitcoin-0.18.1~dfsg/src/logging.h
Examining data/bitcoin-0.18.1~dfsg/src/memusage.h
Examining data/bitcoin-0.18.1~dfsg/src/merkleblock.cpp
Examining data/bitcoin-0.18.1~dfsg/src/merkleblock.h
Examining data/bitcoin-0.18.1~dfsg/src/miner.cpp
Examining data/bitcoin-0.18.1~dfsg/src/miner.h
Examining data/bitcoin-0.18.1~dfsg/src/net.cpp
Examining data/bitcoin-0.18.1~dfsg/src/net.h
Examining data/bitcoin-0.18.1~dfsg/src/net_processing.cpp
Examining data/bitcoin-0.18.1~dfsg/src/net_processing.h
Examining data/bitcoin-0.18.1~dfsg/src/netaddress.cpp
Examining data/bitcoin-0.18.1~dfsg/src/netaddress.h
Examining data/bitcoin-0.18.1~dfsg/src/netbase.cpp
Examining data/bitcoin-0.18.1~dfsg/src/netbase.h
Examining data/bitcoin-0.18.1~dfsg/src/netmessagemaker.h
Examining data/bitcoin-0.18.1~dfsg/src/node/transaction.cpp
Examining data/bitcoin-0.18.1~dfsg/src/node/transaction.h
Examining data/bitcoin-0.18.1~dfsg/src/noui.cpp
Examining data/bitcoin-0.18.1~dfsg/src/noui.h
Examining data/bitcoin-0.18.1~dfsg/src/optional.h
Examining data/bitcoin-0.18.1~dfsg/src/outputtype.cpp
Examining data/bitcoin-0.18.1~dfsg/src/outputtype.h
Examining data/bitcoin-0.18.1~dfsg/src/policy/feerate.cpp
Examining data/bitcoin-0.18.1~dfsg/src/policy/feerate.h
Examining data/bitcoin-0.18.1~dfsg/src/policy/fees.cpp
Examining data/bitcoin-0.18.1~dfsg/src/policy/fees.h
Examining data/bitcoin-0.18.1~dfsg/src/policy/policy.cpp
Examining data/bitcoin-0.18.1~dfsg/src/policy/policy.h
Examining data/bitcoin-0.18.1~dfsg/src/policy/rbf.cpp
Examining data/bitcoin-0.18.1~dfsg/src/policy/rbf.h
Examining data/bitcoin-0.18.1~dfsg/src/pow.cpp
Examining data/bitcoin-0.18.1~dfsg/src/pow.h
Examining data/bitcoin-0.18.1~dfsg/src/prevector.h
Examining data/bitcoin-0.18.1~dfsg/src/primitives/block.cpp
Examining data/bitcoin-0.18.1~dfsg/src/primitives/block.h
Examining data/bitcoin-0.18.1~dfsg/src/primitives/transaction.cpp
Examining data/bitcoin-0.18.1~dfsg/src/primitives/transaction.h
Examining data/bitcoin-0.18.1~dfsg/src/protocol.cpp
Examining data/bitcoin-0.18.1~dfsg/src/protocol.h
Examining data/bitcoin-0.18.1~dfsg/src/psbt.cpp
Examining data/bitcoin-0.18.1~dfsg/src/psbt.h
Examining data/bitcoin-0.18.1~dfsg/src/pubkey.cpp
Examining data/bitcoin-0.18.1~dfsg/src/pubkey.h
Examining data/bitcoin-0.18.1~dfsg/src/qt/addressbookpage.cpp
Examining data/bitcoin-0.18.1~dfsg/src/qt/addressbookpage.h
Examining data/bitcoin-0.18.1~dfsg/src/qt/addresstablemodel.cpp
Examining data/bitcoin-0.18.1~dfsg/src/qt/addresstablemodel.h
Examining data/bitcoin-0.18.1~dfsg/src/qt/askpassphrasedialog.cpp
Examining data/bitcoin-0.18.1~dfsg/src/qt/askpassphrasedialog.h
Examining data/bitcoin-0.18.1~dfsg/src/qt/bantablemodel.cpp
Examining data/bitcoin-0.18.1~dfsg/src/qt/bantablemodel.h
Examining data/bitcoin-0.18.1~dfsg/src/qt/bitcoin.cpp
Examining data/bitcoin-0.18.1~dfsg/src/qt/bitcoin.h
Examining data/bitcoin-0.18.1~dfsg/src/qt/bitcoinaddressvalidator.cpp
Examining data/bitcoin-0.18.1~dfsg/src/qt/bitcoinaddressvalidator.h
Examining data/bitcoin-0.18.1~dfsg/src/qt/bitcoinamountfield.cpp
Examining data/bitcoin-0.18.1~dfsg/src/qt/bitcoinamountfield.h
Examining data/bitcoin-0.18.1~dfsg/src/qt/bitcoingui.cpp
Examining data/bitcoin-0.18.1~dfsg/src/qt/bitcoingui.h
Examining data/bitcoin-0.18.1~dfsg/src/qt/bitcoinstrings.cpp
Examining data/bitcoin-0.18.1~dfsg/src/qt/bitcoinunits.cpp
Examining data/bitcoin-0.18.1~dfsg/src/qt/bitcoinunits.h
Examining data/bitcoin-0.18.1~dfsg/src/qt/clientmodel.cpp
Examining data/bitcoin-0.18.1~dfsg/src/qt/clientmodel.h
Examining data/bitcoin-0.18.1~dfsg/src/qt/coincontroldialog.cpp
Examining data/bitcoin-0.18.1~dfsg/src/qt/coincontroldialog.h
Examining data/bitcoin-0.18.1~dfsg/src/qt/coincontroltreewidget.cpp
Examining data/bitcoin-0.18.1~dfsg/src/qt/coincontroltreewidget.h
Examining data/bitcoin-0.18.1~dfsg/src/qt/csvmodelwriter.cpp
Examining data/bitcoin-0.18.1~dfsg/src/qt/csvmodelwriter.h
Examining data/bitcoin-0.18.1~dfsg/src/qt/editaddressdialog.cpp
Examining data/bitcoin-0.18.1~dfsg/src/qt/editaddressdialog.h
Examining data/bitcoin-0.18.1~dfsg/src/qt/guiconstants.h
Examining data/bitcoin-0.18.1~dfsg/src/qt/guiutil.cpp
Examining data/bitcoin-0.18.1~dfsg/src/qt/guiutil.h
Examining data/bitcoin-0.18.1~dfsg/src/qt/intro.cpp
Examining data/bitcoin-0.18.1~dfsg/src/qt/intro.h
Examining data/bitcoin-0.18.1~dfsg/src/qt/macdockiconhandler.h
Examining data/bitcoin-0.18.1~dfsg/src/qt/macnotificationhandler.h
Examining data/bitcoin-0.18.1~dfsg/src/qt/macos_appnap.h
Examining data/bitcoin-0.18.1~dfsg/src/qt/main.cpp
Examining data/bitcoin-0.18.1~dfsg/src/qt/modaloverlay.cpp
Examining data/bitcoin-0.18.1~dfsg/src/qt/modaloverlay.h
Examining data/bitcoin-0.18.1~dfsg/src/qt/networkstyle.cpp
Examining data/bitcoin-0.18.1~dfsg/src/qt/networkstyle.h
Examining data/bitcoin-0.18.1~dfsg/src/qt/notificator.cpp
Examining data/bitcoin-0.18.1~dfsg/src/qt/notificator.h
Examining data/bitcoin-0.18.1~dfsg/src/qt/openuridialog.cpp
Examining data/bitcoin-0.18.1~dfsg/src/qt/openuridialog.h
Examining data/bitcoin-0.18.1~dfsg/src/qt/optionsdialog.cpp
Examining data/bitcoin-0.18.1~dfsg/src/qt/optionsdialog.h
Examining data/bitcoin-0.18.1~dfsg/src/qt/optionsmodel.cpp
Examining data/bitcoin-0.18.1~dfsg/src/qt/optionsmodel.h
Examining data/bitcoin-0.18.1~dfsg/src/qt/overviewpage.cpp
Examining data/bitcoin-0.18.1~dfsg/src/qt/overviewpage.h
Examining data/bitcoin-0.18.1~dfsg/src/qt/paymentrequestplus.cpp
Examining data/bitcoin-0.18.1~dfsg/src/qt/paymentrequestplus.h
Examining data/bitcoin-0.18.1~dfsg/src/qt/paymentserver.cpp
Examining data/bitcoin-0.18.1~dfsg/src/qt/paymentserver.h
Examining data/bitcoin-0.18.1~dfsg/src/qt/peertablemodel.cpp
Examining data/bitcoin-0.18.1~dfsg/src/qt/peertablemodel.h
Examining data/bitcoin-0.18.1~dfsg/src/qt/platformstyle.cpp
Examining data/bitcoin-0.18.1~dfsg/src/qt/platformstyle.h
Examining data/bitcoin-0.18.1~dfsg/src/qt/qvalidatedlineedit.cpp
Examining data/bitcoin-0.18.1~dfsg/src/qt/qvalidatedlineedit.h
Examining data/bitcoin-0.18.1~dfsg/src/qt/qvaluecombobox.cpp
Examining data/bitcoin-0.18.1~dfsg/src/qt/qvaluecombobox.h
Examining data/bitcoin-0.18.1~dfsg/src/qt/receivecoinsdialog.cpp
Examining data/bitcoin-0.18.1~dfsg/src/qt/receivecoinsdialog.h
Examining data/bitcoin-0.18.1~dfsg/src/qt/receiverequestdialog.cpp
Examining data/bitcoin-0.18.1~dfsg/src/qt/receiverequestdialog.h
Examining data/bitcoin-0.18.1~dfsg/src/qt/recentrequeststablemodel.cpp
Examining data/bitcoin-0.18.1~dfsg/src/qt/recentrequeststablemodel.h
Examining data/bitcoin-0.18.1~dfsg/src/qt/rpcconsole.cpp
Examining data/bitcoin-0.18.1~dfsg/src/qt/rpcconsole.h
Examining data/bitcoin-0.18.1~dfsg/src/qt/sendcoinsdialog.cpp
Examining data/bitcoin-0.18.1~dfsg/src/qt/sendcoinsdialog.h
Examining data/bitcoin-0.18.1~dfsg/src/qt/sendcoinsentry.cpp
Examining data/bitcoin-0.18.1~dfsg/src/qt/sendcoinsentry.h
Examining data/bitcoin-0.18.1~dfsg/src/qt/signverifymessagedialog.cpp
Examining data/bitcoin-0.18.1~dfsg/src/qt/signverifymessagedialog.h
Examining data/bitcoin-0.18.1~dfsg/src/qt/splashscreen.cpp
Examining data/bitcoin-0.18.1~dfsg/src/qt/splashscreen.h
Examining data/bitcoin-0.18.1~dfsg/src/qt/test/addressbooktests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/qt/test/addressbooktests.h
Examining data/bitcoin-0.18.1~dfsg/src/qt/test/apptests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/qt/test/apptests.h
Examining data/bitcoin-0.18.1~dfsg/src/qt/test/compattests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/qt/test/compattests.h
Examining data/bitcoin-0.18.1~dfsg/src/qt/test/paymentrequestdata.h
Examining data/bitcoin-0.18.1~dfsg/src/qt/test/paymentservertests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/qt/test/paymentservertests.h
Examining data/bitcoin-0.18.1~dfsg/src/qt/test/rpcnestedtests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/qt/test/rpcnestedtests.h
Examining data/bitcoin-0.18.1~dfsg/src/qt/test/uritests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/qt/test/uritests.h
Examining data/bitcoin-0.18.1~dfsg/src/qt/test/util.cpp
Examining data/bitcoin-0.18.1~dfsg/src/qt/test/util.h
Examining data/bitcoin-0.18.1~dfsg/src/qt/test/wallettests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/qt/test/wallettests.h
Examining data/bitcoin-0.18.1~dfsg/src/qt/test/test_main.cpp
Examining data/bitcoin-0.18.1~dfsg/src/qt/trafficgraphwidget.cpp
Examining data/bitcoin-0.18.1~dfsg/src/qt/trafficgraphwidget.h
Examining data/bitcoin-0.18.1~dfsg/src/qt/transactiondesc.cpp
Examining data/bitcoin-0.18.1~dfsg/src/qt/transactiondesc.h
Examining data/bitcoin-0.18.1~dfsg/src/qt/transactiondescdialog.cpp
Examining data/bitcoin-0.18.1~dfsg/src/qt/transactiondescdialog.h
Examining data/bitcoin-0.18.1~dfsg/src/qt/transactionfilterproxy.cpp
Examining data/bitcoin-0.18.1~dfsg/src/qt/transactionfilterproxy.h
Examining data/bitcoin-0.18.1~dfsg/src/qt/transactionrecord.cpp
Examining data/bitcoin-0.18.1~dfsg/src/qt/transactionrecord.h
Examining data/bitcoin-0.18.1~dfsg/src/qt/transactiontablemodel.cpp
Examining data/bitcoin-0.18.1~dfsg/src/qt/transactiontablemodel.h
Examining data/bitcoin-0.18.1~dfsg/src/qt/transactionview.cpp
Examining data/bitcoin-0.18.1~dfsg/src/qt/transactionview.h
Examining data/bitcoin-0.18.1~dfsg/src/qt/utilitydialog.cpp
Examining data/bitcoin-0.18.1~dfsg/src/qt/utilitydialog.h
Examining data/bitcoin-0.18.1~dfsg/src/qt/walletcontroller.cpp
Examining data/bitcoin-0.18.1~dfsg/src/qt/walletcontroller.h
Examining data/bitcoin-0.18.1~dfsg/src/qt/walletframe.cpp
Examining data/bitcoin-0.18.1~dfsg/src/qt/walletframe.h
Examining data/bitcoin-0.18.1~dfsg/src/qt/walletmodel.cpp
Examining data/bitcoin-0.18.1~dfsg/src/qt/walletmodel.h
Examining data/bitcoin-0.18.1~dfsg/src/qt/walletmodeltransaction.cpp
Examining data/bitcoin-0.18.1~dfsg/src/qt/walletmodeltransaction.h
Examining data/bitcoin-0.18.1~dfsg/src/qt/walletview.cpp
Examining data/bitcoin-0.18.1~dfsg/src/qt/walletview.h
Examining data/bitcoin-0.18.1~dfsg/src/qt/winshutdownmonitor.cpp
Examining data/bitcoin-0.18.1~dfsg/src/qt/winshutdownmonitor.h
Examining data/bitcoin-0.18.1~dfsg/src/random.cpp
Examining data/bitcoin-0.18.1~dfsg/src/random.h
Examining data/bitcoin-0.18.1~dfsg/src/rest.cpp
Examining data/bitcoin-0.18.1~dfsg/src/reverse_iterator.h
Examining data/bitcoin-0.18.1~dfsg/src/reverselock.h
Examining data/bitcoin-0.18.1~dfsg/src/rpc/blockchain.h
Examining data/bitcoin-0.18.1~dfsg/src/rpc/client.cpp
Examining data/bitcoin-0.18.1~dfsg/src/rpc/client.h
Examining data/bitcoin-0.18.1~dfsg/src/rpc/mining.cpp
Examining data/bitcoin-0.18.1~dfsg/src/rpc/mining.h
Examining data/bitcoin-0.18.1~dfsg/src/rpc/misc.cpp
Examining data/bitcoin-0.18.1~dfsg/src/rpc/net.cpp
Examining data/bitcoin-0.18.1~dfsg/src/rpc/protocol.cpp
Examining data/bitcoin-0.18.1~dfsg/src/rpc/protocol.h
Examining data/bitcoin-0.18.1~dfsg/src/rpc/rawtransaction.cpp
Examining data/bitcoin-0.18.1~dfsg/src/rpc/rawtransaction.h
Examining data/bitcoin-0.18.1~dfsg/src/rpc/register.h
Examining data/bitcoin-0.18.1~dfsg/src/rpc/server.cpp
Examining data/bitcoin-0.18.1~dfsg/src/rpc/server.h
Examining data/bitcoin-0.18.1~dfsg/src/rpc/util.cpp
Examining data/bitcoin-0.18.1~dfsg/src/rpc/util.h
Examining data/bitcoin-0.18.1~dfsg/src/rpc/blockchain.cpp
Examining data/bitcoin-0.18.1~dfsg/src/scheduler.cpp
Examining data/bitcoin-0.18.1~dfsg/src/scheduler.h
Examining data/bitcoin-0.18.1~dfsg/src/script/bitcoinconsensus.cpp
Examining data/bitcoin-0.18.1~dfsg/src/script/bitcoinconsensus.h
Examining data/bitcoin-0.18.1~dfsg/src/script/descriptor.cpp
Examining data/bitcoin-0.18.1~dfsg/src/script/descriptor.h
Examining data/bitcoin-0.18.1~dfsg/src/script/interpreter.cpp
Examining data/bitcoin-0.18.1~dfsg/src/script/interpreter.h
Examining data/bitcoin-0.18.1~dfsg/src/script/ismine.cpp
Examining data/bitcoin-0.18.1~dfsg/src/script/ismine.h
Examining data/bitcoin-0.18.1~dfsg/src/script/script.cpp
Examining data/bitcoin-0.18.1~dfsg/src/script/script.h
Examining data/bitcoin-0.18.1~dfsg/src/script/script_error.cpp
Examining data/bitcoin-0.18.1~dfsg/src/script/script_error.h
Examining data/bitcoin-0.18.1~dfsg/src/script/sigcache.cpp
Examining data/bitcoin-0.18.1~dfsg/src/script/sigcache.h
Examining data/bitcoin-0.18.1~dfsg/src/script/sign.cpp
Examining data/bitcoin-0.18.1~dfsg/src/script/sign.h
Examining data/bitcoin-0.18.1~dfsg/src/script/standard.cpp
Examining data/bitcoin-0.18.1~dfsg/src/script/standard.h
Examining data/bitcoin-0.18.1~dfsg/src/serialize.h
Examining data/bitcoin-0.18.1~dfsg/src/shutdown.cpp
Examining data/bitcoin-0.18.1~dfsg/src/shutdown.h
Examining data/bitcoin-0.18.1~dfsg/src/span.h
Examining data/bitcoin-0.18.1~dfsg/src/streams.h
Examining data/bitcoin-0.18.1~dfsg/src/support/allocators/secure.h
Examining data/bitcoin-0.18.1~dfsg/src/support/allocators/zeroafterfree.h
Examining data/bitcoin-0.18.1~dfsg/src/support/cleanse.cpp
Examining data/bitcoin-0.18.1~dfsg/src/support/cleanse.h
Examining data/bitcoin-0.18.1~dfsg/src/support/events.h
Examining data/bitcoin-0.18.1~dfsg/src/support/lockedpool.cpp
Examining data/bitcoin-0.18.1~dfsg/src/support/lockedpool.h
Examining data/bitcoin-0.18.1~dfsg/src/sync.cpp
Examining data/bitcoin-0.18.1~dfsg/src/sync.h
Examining data/bitcoin-0.18.1~dfsg/src/test/addrman_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/allocator_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/amount_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/arith_uint256_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/base32_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/base58_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/base64_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/bech32_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/bip32_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/blockchain_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/blockencodings_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/blockfilter_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/bloom_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/bswap_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/checkqueue_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/coins_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/compilerbug_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/compress_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/crypto_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/cuckoocache_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/dbwrapper_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/denialofservice_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/descriptor_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/fs_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/fuzz/deserialize.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/fuzz/fuzz.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/fuzz/fuzz.h
Examining data/bitcoin-0.18.1~dfsg/src/test/fuzz/script_flags.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/gen/crypto_gen.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/gen/crypto_gen.h
Examining data/bitcoin-0.18.1~dfsg/src/test/getarg_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/hash_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/key_io_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/key_properties.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/key_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/limitedmap_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/main_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/mempool_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/merkle_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/merkleblock_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/miner_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/multisig_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/net_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/netbase_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/pmt_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/policyestimator_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/pow_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/prevector_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/raii_event_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/random_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/reverselock_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/rpc_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/sanity_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/scheduler_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/script_p2sh_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/script_standard_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/script_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/scriptnum10.h
Examining data/bitcoin-0.18.1~dfsg/src/test/scriptnum_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/serialize_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/sighash_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/sigopcount_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/skiplist_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/streams_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/sync_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/test_bitcoin.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/test_bitcoin.h
Examining data/bitcoin-0.18.1~dfsg/src/test/test_bitcoin_main.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/timedata_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/torcontrol_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/transaction_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/txindex_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/txvalidation_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/txvalidationcache_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/uint256_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/util_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/validation_block_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/test/versionbits_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/threadinterrupt.cpp
Examining data/bitcoin-0.18.1~dfsg/src/threadinterrupt.h
Examining data/bitcoin-0.18.1~dfsg/src/threadsafety.h
Examining data/bitcoin-0.18.1~dfsg/src/timedata.cpp
Examining data/bitcoin-0.18.1~dfsg/src/timedata.h
Examining data/bitcoin-0.18.1~dfsg/src/tinyformat.h
Examining data/bitcoin-0.18.1~dfsg/src/torcontrol.cpp
Examining data/bitcoin-0.18.1~dfsg/src/torcontrol.h
Examining data/bitcoin-0.18.1~dfsg/src/txdb.cpp
Examining data/bitcoin-0.18.1~dfsg/src/txdb.h
Examining data/bitcoin-0.18.1~dfsg/src/txmempool.cpp
Examining data/bitcoin-0.18.1~dfsg/src/txmempool.h
Examining data/bitcoin-0.18.1~dfsg/src/ui_interface.cpp
Examining data/bitcoin-0.18.1~dfsg/src/ui_interface.h
Examining data/bitcoin-0.18.1~dfsg/src/uint256.cpp
Examining data/bitcoin-0.18.1~dfsg/src/uint256.h
Examining data/bitcoin-0.18.1~dfsg/src/undo.h
Examining data/bitcoin-0.18.1~dfsg/src/util/bip32.cpp
Examining data/bitcoin-0.18.1~dfsg/src/util/bip32.h
Examining data/bitcoin-0.18.1~dfsg/src/util/bytevectorhash.cpp
Examining data/bitcoin-0.18.1~dfsg/src/util/bytevectorhash.h
Examining data/bitcoin-0.18.1~dfsg/src/util/memory.h
Examining data/bitcoin-0.18.1~dfsg/src/util/moneystr.cpp
Examining data/bitcoin-0.18.1~dfsg/src/util/moneystr.h
Examining data/bitcoin-0.18.1~dfsg/src/util/strencodings.cpp
Examining data/bitcoin-0.18.1~dfsg/src/util/strencodings.h
Examining data/bitcoin-0.18.1~dfsg/src/util/system.cpp
Examining data/bitcoin-0.18.1~dfsg/src/util/system.h
Examining data/bitcoin-0.18.1~dfsg/src/util/time.cpp
Examining data/bitcoin-0.18.1~dfsg/src/util/time.h
Examining data/bitcoin-0.18.1~dfsg/src/validation.cpp
Examining data/bitcoin-0.18.1~dfsg/src/validation.h
Examining data/bitcoin-0.18.1~dfsg/src/validationinterface.cpp
Examining data/bitcoin-0.18.1~dfsg/src/validationinterface.h
Examining data/bitcoin-0.18.1~dfsg/src/version.h
Examining data/bitcoin-0.18.1~dfsg/src/versionbits.cpp
Examining data/bitcoin-0.18.1~dfsg/src/versionbits.h
Examining data/bitcoin-0.18.1~dfsg/src/versionbitsinfo.cpp
Examining data/bitcoin-0.18.1~dfsg/src/versionbitsinfo.h
Examining data/bitcoin-0.18.1~dfsg/src/wallet/coincontrol.cpp
Examining data/bitcoin-0.18.1~dfsg/src/wallet/coincontrol.h
Examining data/bitcoin-0.18.1~dfsg/src/wallet/coinselection.cpp
Examining data/bitcoin-0.18.1~dfsg/src/wallet/coinselection.h
Examining data/bitcoin-0.18.1~dfsg/src/wallet/crypter.cpp
Examining data/bitcoin-0.18.1~dfsg/src/wallet/crypter.h
Examining data/bitcoin-0.18.1~dfsg/src/wallet/db.cpp
Examining data/bitcoin-0.18.1~dfsg/src/wallet/db.h
Examining data/bitcoin-0.18.1~dfsg/src/wallet/feebumper.cpp
Examining data/bitcoin-0.18.1~dfsg/src/wallet/feebumper.h
Examining data/bitcoin-0.18.1~dfsg/src/wallet/fees.cpp
Examining data/bitcoin-0.18.1~dfsg/src/wallet/fees.h
Examining data/bitcoin-0.18.1~dfsg/src/wallet/init.cpp
Examining data/bitcoin-0.18.1~dfsg/src/wallet/psbtwallet.cpp
Examining data/bitcoin-0.18.1~dfsg/src/wallet/psbtwallet.h
Examining data/bitcoin-0.18.1~dfsg/src/wallet/rpcdump.cpp
Examining data/bitcoin-0.18.1~dfsg/src/wallet/rpcwallet.cpp
Examining data/bitcoin-0.18.1~dfsg/src/wallet/rpcwallet.h
Examining data/bitcoin-0.18.1~dfsg/src/wallet/test/coinselector_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/wallet/test/db_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/wallet/test/init_test_fixture.cpp
Examining data/bitcoin-0.18.1~dfsg/src/wallet/test/init_test_fixture.h
Examining data/bitcoin-0.18.1~dfsg/src/wallet/test/init_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/wallet/test/psbt_wallet_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/wallet/test/wallet_crypto_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/wallet/test/wallet_test_fixture.cpp
Examining data/bitcoin-0.18.1~dfsg/src/wallet/test/wallet_test_fixture.h
Examining data/bitcoin-0.18.1~dfsg/src/wallet/test/wallet_tests.cpp
Examining data/bitcoin-0.18.1~dfsg/src/wallet/wallet.cpp
Examining data/bitcoin-0.18.1~dfsg/src/wallet/wallet.h
Examining data/bitcoin-0.18.1~dfsg/src/wallet/walletdb.cpp
Examining data/bitcoin-0.18.1~dfsg/src/wallet/walletdb.h
Examining data/bitcoin-0.18.1~dfsg/src/wallet/wallettool.cpp
Examining data/bitcoin-0.18.1~dfsg/src/wallet/wallettool.h
Examining data/bitcoin-0.18.1~dfsg/src/wallet/walletutil.cpp
Examining data/bitcoin-0.18.1~dfsg/src/wallet/walletutil.h
Examining data/bitcoin-0.18.1~dfsg/src/walletinitinterface.h
Examining data/bitcoin-0.18.1~dfsg/src/warnings.cpp
Examining data/bitcoin-0.18.1~dfsg/src/warnings.h
Examining data/bitcoin-0.18.1~dfsg/src/zmq/zmqabstractnotifier.cpp
Examining data/bitcoin-0.18.1~dfsg/src/zmq/zmqabstractnotifier.h
Examining data/bitcoin-0.18.1~dfsg/src/zmq/zmqconfig.h
Examining data/bitcoin-0.18.1~dfsg/src/zmq/zmqnotificationinterface.cpp
Examining data/bitcoin-0.18.1~dfsg/src/zmq/zmqnotificationinterface.h
Examining data/bitcoin-0.18.1~dfsg/src/zmq/zmqpublishnotifier.cpp
Examining data/bitcoin-0.18.1~dfsg/src/zmq/zmqpublishnotifier.h
Examining data/bitcoin-0.18.1~dfsg/src/zmq/zmqrpc.cpp
Examining data/bitcoin-0.18.1~dfsg/src/zmq/zmqrpc.h
Examining data/bitcoin-0.18.1~dfsg/src/dbwrapper.cpp

FINAL RESULTS:

data/bitcoin-0.18.1~dfsg/src/qt/guiutil.cpp:664:21:  [5] (race) readlink:
  This accepts filename arguments; if an attacker can move those files or
  change the link content, a race condition results. Also, it does not
  terminate with ASCII NUL. (CWE-362, CWE-20). Reconsider approach.
        ssize_t r = readlink("/proc/self/exe", pszExePath, sizeof(pszExePath) - 1);
data/bitcoin-0.18.1~dfsg/src/dbwrapper.cpp:49:26:  [4] (format) vsnprintf:
  If format strings can be influenced by an attacker, they can be exploited,
  and note that sprintf variations do not always \0-terminate (CWE-134). Use
  a constant for the format specification.
                    p += vsnprintf(p, limit - p, format, backup_ap);
data/bitcoin-0.18.1~dfsg/src/qt/bitcoin.cpp:77:39:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
    QString lang_territory = QLocale::system().name();
data/bitcoin-0.18.1~dfsg/src/tinyformat.h:984:6:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
void printf(const char* fmt, const Args&... args)
data/bitcoin-0.18.1~dfsg/src/tinyformat.h:1010:13:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
inline void printf(const char* fmt)
data/bitcoin-0.18.1~dfsg/src/tinyformat.h:1038:6:  [4] (format) printf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
void printf(const char* fmt, TINYFORMAT_VARARGS(n))                       \
data/bitcoin-0.18.1~dfsg/src/util/system.cpp:1128:18:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
    int nErr = ::system(strCommand.c_str());
data/bitcoin-0.18.1~dfsg/src/wallet/init.cpp:137:16:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
        boost::system::error_code error;
data/bitcoin-0.18.1~dfsg/src/wallet/test/wallet_crypto_tests.cpp:22:14:  [4] (crypto) crypt:
  The crypt functions use a poor one-way hashing algorithm; since they only
  accept passwords of 8 characters or fewer and only a two-byte salt, they
  are excessively vulnerable to dictionary attacks given today's faster
  computing equipment (CWE-327). Use a different algorithm, such as SHA-256,
  with a larger, non-repeating salt.
    CCrypter crypt;
data/bitcoin-0.18.1~dfsg/src/wallet/test/wallet_crypto_tests.cpp:23:5:  [4] (crypto) crypt:
  The crypt functions use a poor one-way hashing algorithm; since they only
  accept passwords of 8 characters or fewer and only a two-byte salt, they
  are excessively vulnerable to dictionary attacks given today's faster
  computing equipment (CWE-327). Use a different algorithm, such as SHA-256,
  with a larger, non-repeating salt.
    crypt.SetKeyFromPassphrase(passphrase, vchSalt, rounds, 0);
data/bitcoin-0.18.1~dfsg/src/wallet/test/wallet_crypto_tests.cpp:26:36:  [4] (crypto) crypt:
  The crypt functions use a poor one-way hashing algorithm; since they only
  accept passwords of 8 characters or fewer and only a two-byte salt, they
  are excessively vulnerable to dictionary attacks given today's faster
  computing equipment (CWE-327). Use a different algorithm, such as SHA-256,
  with a larger, non-repeating salt.
        BOOST_CHECK_MESSAGE(memcmp(crypt.vchKey.data(), correctKey.data(), crypt.vchKey.size()) == 0, \
data/bitcoin-0.18.1~dfsg/src/wallet/test/wallet_crypto_tests.cpp:26:76:  [4] (crypto) crypt:
  The crypt functions use a poor one-way hashing algorithm; since they only
  accept passwords of 8 characters or fewer and only a two-byte salt, they
  are excessively vulnerable to dictionary attacks given today's faster
  computing equipment (CWE-327). Use a different algorithm, such as SHA-256,
  with a larger, non-repeating salt.
        BOOST_CHECK_MESSAGE(memcmp(crypt.vchKey.data(), correctKey.data(), crypt.vchKey.size()) == 0, \
data/bitcoin-0.18.1~dfsg/src/wallet/test/wallet_crypto_tests.cpp:27:20:  [4] (crypto) crypt:
  The crypt functions use a poor one-way hashing algorithm; since they only
  accept passwords of 8 characters or fewer and only a two-byte salt, they
  are excessively vulnerable to dictionary attacks given today's faster
  computing equipment (CWE-327). Use a different algorithm, such as SHA-256,
  with a larger, non-repeating salt.
            HexStr(crypt.vchKey.begin(), crypt.vchKey.end()) + std::string(" != ") + HexStr(correctKey.begin(), correctKey.end()));
data/bitcoin-0.18.1~dfsg/src/wallet/test/wallet_crypto_tests.cpp:27:42:  [4] (crypto) crypt:
  The crypt functions use a poor one-way hashing algorithm; since they only
  accept passwords of 8 characters or fewer and only a two-byte salt, they
  are excessively vulnerable to dictionary attacks given today's faster
  computing equipment (CWE-327). Use a different algorithm, such as SHA-256,
  with a larger, non-repeating salt.
            HexStr(crypt.vchKey.begin(), crypt.vchKey.end()) + std::string(" != ") + HexStr(correctKey.begin(), correctKey.end()));
data/bitcoin-0.18.1~dfsg/src/wallet/test/wallet_crypto_tests.cpp:29:36:  [4] (crypto) crypt:
  The crypt functions use a poor one-way hashing algorithm; since they only
  accept passwords of 8 characters or fewer and only a two-byte salt, they
  are excessively vulnerable to dictionary attacks given today's faster
  computing equipment (CWE-327). Use a different algorithm, such as SHA-256,
  with a larger, non-repeating salt.
        BOOST_CHECK_MESSAGE(memcmp(crypt.vchIV.data(), correctIV.data(), crypt.vchIV.size()) == 0,
data/bitcoin-0.18.1~dfsg/src/wallet/test/wallet_crypto_tests.cpp:29:74:  [4] (crypto) crypt:
  The crypt functions use a poor one-way hashing algorithm; since they only
  accept passwords of 8 characters or fewer and only a two-byte salt, they
  are excessively vulnerable to dictionary attacks given today's faster
  computing equipment (CWE-327). Use a different algorithm, such as SHA-256,
  with a larger, non-repeating salt.
        BOOST_CHECK_MESSAGE(memcmp(crypt.vchIV.data(), correctIV.data(), crypt.vchIV.size()) == 0,
data/bitcoin-0.18.1~dfsg/src/wallet/test/wallet_crypto_tests.cpp:30:20:  [4] (crypto) crypt:
  The crypt functions use a poor one-way hashing algorithm; since they only
  accept passwords of 8 characters or fewer and only a two-byte salt, they
  are excessively vulnerable to dictionary attacks given today's faster
  computing equipment (CWE-327). Use a different algorithm, such as SHA-256,
  with a larger, non-repeating salt.
            HexStr(crypt.vchIV.begin(), crypt.vchIV.end()) + std::string(" != ") + HexStr(correctIV.begin(), correctIV.end()));
data/bitcoin-0.18.1~dfsg/src/wallet/test/wallet_crypto_tests.cpp:30:41:  [4] (crypto) crypt:
  The crypt functions use a poor one-way hashing algorithm; since they only
  accept passwords of 8 characters or fewer and only a two-byte salt, they
  are excessively vulnerable to dictionary attacks given today's faster
  computing equipment (CWE-327). Use a different algorithm, such as SHA-256,
  with a larger, non-repeating salt.
            HexStr(crypt.vchIV.begin(), crypt.vchIV.end()) + std::string(" != ") + HexStr(correctIV.begin(), correctIV.end()));
data/bitcoin-0.18.1~dfsg/src/wallet/test/wallet_crypto_tests.cpp:42:41:  [4] (crypto) crypt:
  The crypt functions use a poor one-way hashing algorithm; since they only
  accept passwords of 8 characters or fewer and only a two-byte salt, they
  are excessively vulnerable to dictionary attacks given today's faster
  computing equipment (CWE-327). Use a different algorithm, such as SHA-256,
  with a larger, non-repeating salt.
static void TestDecrypt(const CCrypter& crypt, const std::vector<unsigned char>& vchCiphertext, \
data/bitcoin-0.18.1~dfsg/src/wallet/test/wallet_crypto_tests.cpp:46:5:  [4] (crypto) crypt:
  The crypt functions use a poor one-way hashing algorithm; since they only
  accept passwords of 8 characters or fewer and only a two-byte salt, they
  are excessively vulnerable to dictionary attacks given today's faster
  computing equipment (CWE-327). Use a different algorithm, such as SHA-256,
  with a larger, non-repeating salt.
    crypt.Decrypt(vchCiphertext, vchDecrypted);
data/bitcoin-0.18.1~dfsg/src/wallet/test/wallet_crypto_tests.cpp:51:47:  [4] (crypto) crypt:
  The crypt functions use a poor one-way hashing algorithm; since they only
  accept passwords of 8 characters or fewer and only a two-byte salt, they
  are excessively vulnerable to dictionary attacks given today's faster
  computing equipment (CWE-327). Use a different algorithm, such as SHA-256,
  with a larger, non-repeating salt.
static void TestEncryptSingle(const CCrypter& crypt, const CKeyingMaterial& vchPlaintext,
data/bitcoin-0.18.1~dfsg/src/wallet/test/wallet_crypto_tests.cpp:55:5:  [4] (crypto) crypt:
  The crypt functions use a poor one-way hashing algorithm; since they only
  accept passwords of 8 characters or fewer and only a two-byte salt, they
  are excessively vulnerable to dictionary attacks given today's faster
  computing equipment (CWE-327). Use a different algorithm, such as SHA-256,
  with a larger, non-repeating salt.
    crypt.Encrypt(vchPlaintext, vchCiphertext);
data/bitcoin-0.18.1~dfsg/src/wallet/test/wallet_crypto_tests.cpp:61:17:  [4] (crypto) crypt:
  The crypt functions use a poor one-way hashing algorithm; since they only
  accept passwords of 8 characters or fewer and only a two-byte salt, they
  are excessively vulnerable to dictionary attacks given today's faster
  computing equipment (CWE-327). Use a different algorithm, such as SHA-256,
  with a larger, non-repeating salt.
    TestDecrypt(crypt, vchCiphertext, vchPlaintext2);
data/bitcoin-0.18.1~dfsg/src/wallet/test/wallet_crypto_tests.cpp:64:41:  [4] (crypto) crypt:
  The crypt functions use a poor one-way hashing algorithm; since they only
  accept passwords of 8 characters or fewer and only a two-byte salt, they
  are excessively vulnerable to dictionary attacks given today's faster
  computing equipment (CWE-327). Use a different algorithm, such as SHA-256,
  with a larger, non-repeating salt.
static void TestEncrypt(const CCrypter& crypt, const std::vector<unsigned char>& vchPlaintextIn, \
data/bitcoin-0.18.1~dfsg/src/wallet/test/wallet_crypto_tests.cpp:67:23:  [4] (crypto) crypt:
  The crypt functions use a poor one-way hashing algorithm; since they only
  accept passwords of 8 characters or fewer and only a two-byte salt, they
  are excessively vulnerable to dictionary attacks given today's faster
  computing equipment (CWE-327). Use a different algorithm, such as SHA-256,
  with a larger, non-repeating salt.
    TestEncryptSingle(crypt, CKeyingMaterial(vchPlaintextIn.begin(), vchPlaintextIn.end()), vchCiphertextCorrect);
data/bitcoin-0.18.1~dfsg/src/wallet/test/wallet_crypto_tests.cpp:69:27:  [4] (crypto) crypt:
  The crypt functions use a poor one-way hashing algorithm; since they only
  accept passwords of 8 characters or fewer and only a two-byte salt, they
  are excessively vulnerable to dictionary attacks given today's faster
  computing equipment (CWE-327). Use a different algorithm, such as SHA-256,
  with a larger, non-repeating salt.
        TestEncryptSingle(crypt, CKeyingMaterial(i, vchPlaintextIn.end()));
data/bitcoin-0.18.1~dfsg/src/wallet/test/wallet_crypto_tests.cpp:93:14:  [4] (crypto) crypt:
  The crypt functions use a poor one-way hashing algorithm; since they only
  accept passwords of 8 characters or fewer and only a two-byte salt, they
  are excessively vulnerable to dictionary attacks given today's faster
  computing equipment (CWE-327). Use a different algorithm, such as SHA-256,
  with a larger, non-repeating salt.
    CCrypter crypt;
data/bitcoin-0.18.1~dfsg/src/wallet/test/wallet_crypto_tests.cpp:94:5:  [4] (crypto) crypt:
  The crypt functions use a poor one-way hashing algorithm; since they only
  accept passwords of 8 characters or fewer and only a two-byte salt, they
  are excessively vulnerable to dictionary attacks given today's faster
  computing equipment (CWE-327). Use a different algorithm, such as SHA-256,
  with a larger, non-repeating salt.
    crypt.SetKeyFromPassphrase("passphrase", vchSalt, 25000, 0);
data/bitcoin-0.18.1~dfsg/src/wallet/test/wallet_crypto_tests.cpp:95:30:  [4] (crypto) crypt:
  The crypt functions use a poor one-way hashing algorithm; since they only
  accept passwords of 8 characters or fewer and only a two-byte salt, they
  are excessively vulnerable to dictionary attacks given today's faster
  computing equipment (CWE-327). Use a different algorithm, such as SHA-256,
  with a larger, non-repeating salt.
    TestCrypter::TestEncrypt(crypt, ParseHex("22bcade09ac03ff6386914359cfe885cfeb5f77ff0d670f102f619687453b29d"));
data/bitcoin-0.18.1~dfsg/src/wallet/test/wallet_crypto_tests.cpp:100:34:  [4] (crypto) crypt:
  The crypt functions use a poor one-way hashing algorithm; since they only
  accept passwords of 8 characters or fewer and only a two-byte salt, they
  are excessively vulnerable to dictionary attacks given today's faster
  computing equipment (CWE-327). Use a different algorithm, such as SHA-256,
  with a larger, non-repeating salt.
        TestCrypter::TestEncrypt(crypt, std::vector<unsigned char>(hash.begin(), hash.end()));
data/bitcoin-0.18.1~dfsg/src/wallet/test/wallet_crypto_tests.cpp:108:14:  [4] (crypto) crypt:
  The crypt functions use a poor one-way hashing algorithm; since they only
  accept passwords of 8 characters or fewer and only a two-byte salt, they
  are excessively vulnerable to dictionary attacks given today's faster
  computing equipment (CWE-327). Use a different algorithm, such as SHA-256,
  with a larger, non-repeating salt.
    CCrypter crypt;
data/bitcoin-0.18.1~dfsg/src/wallet/test/wallet_crypto_tests.cpp:109:5:  [4] (crypto) crypt:
  The crypt functions use a poor one-way hashing algorithm; since they only
  accept passwords of 8 characters or fewer and only a two-byte salt, they
  are excessively vulnerable to dictionary attacks given today's faster
  computing equipment (CWE-327). Use a different algorithm, such as SHA-256,
  with a larger, non-repeating salt.
    crypt.SetKeyFromPassphrase("passphrase", vchSalt, 25000, 0);
data/bitcoin-0.18.1~dfsg/src/wallet/test/wallet_crypto_tests.cpp:112:30:  [4] (crypto) crypt:
  The crypt functions use a poor one-way hashing algorithm; since they only
  accept passwords of 8 characters or fewer and only a two-byte salt, they
  are excessively vulnerable to dictionary attacks given today's faster
  computing equipment (CWE-327). Use a different algorithm, such as SHA-256,
  with a larger, non-repeating salt.
    TestCrypter::TestDecrypt(crypt,ParseHex("795643ce39d736088367822cdc50535ec6f103715e3e48f4f3b1a60a08ef59ca"));
data/bitcoin-0.18.1~dfsg/src/wallet/test/wallet_crypto_tests.cpp:113:30:  [4] (crypto) crypt:
  The crypt functions use a poor one-way hashing algorithm; since they only
  accept passwords of 8 characters or fewer and only a two-byte salt, they
  are excessively vulnerable to dictionary attacks given today's faster
  computing equipment (CWE-327). Use a different algorithm, such as SHA-256,
  with a larger, non-repeating salt.
    TestCrypter::TestDecrypt(crypt,ParseHex("de096f4a8f9bd97db012aa9d90d74de8cdea779c3ee8bc7633d8b5d6da703486"));
data/bitcoin-0.18.1~dfsg/src/wallet/test/wallet_crypto_tests.cpp:114:30:  [4] (crypto) crypt:
  The crypt functions use a poor one-way hashing algorithm; since they only
  accept passwords of 8 characters or fewer and only a two-byte salt, they
  are excessively vulnerable to dictionary attacks given today's faster
  computing equipment (CWE-327). Use a different algorithm, such as SHA-256,
  with a larger, non-repeating salt.
    TestCrypter::TestDecrypt(crypt,ParseHex("32d0a8974e3afd9c6c3ebf4d66aa4e6419f8c173de25947f98cf8b7ace49449c"));
data/bitcoin-0.18.1~dfsg/src/wallet/test/wallet_crypto_tests.cpp:115:30:  [4] (crypto) crypt:
  The crypt functions use a poor one-way hashing algorithm; since they only
  accept passwords of 8 characters or fewer and only a two-byte salt, they
  are excessively vulnerable to dictionary attacks given today's faster
  computing equipment (CWE-327). Use a different algorithm, such as SHA-256,
  with a larger, non-repeating salt.
    TestCrypter::TestDecrypt(crypt,ParseHex("e7c055cca2faa78cb9ac22c9357a90b4778ded9b2cc220a14cea49f931e596ea"));
data/bitcoin-0.18.1~dfsg/src/wallet/test/wallet_crypto_tests.cpp:116:30:  [4] (crypto) crypt:
  The crypt functions use a poor one-way hashing algorithm; since they only
  accept passwords of 8 characters or fewer and only a two-byte salt, they
  are excessively vulnerable to dictionary attacks given today's faster
  computing equipment (CWE-327). Use a different algorithm, such as SHA-256,
  with a larger, non-repeating salt.
    TestCrypter::TestDecrypt(crypt,ParseHex("b88efddd668a6801d19516d6830da4ae9811988ccbaf40df8fbb72f3f4d335fd"));
data/bitcoin-0.18.1~dfsg/src/wallet/test/wallet_crypto_tests.cpp:117:30:  [4] (crypto) crypt:
  The crypt functions use a poor one-way hashing algorithm; since they only
  accept passwords of 8 characters or fewer and only a two-byte salt, they
  are excessively vulnerable to dictionary attacks given today's faster
  computing equipment (CWE-327). Use a different algorithm, such as SHA-256,
  with a larger, non-repeating salt.
    TestCrypter::TestDecrypt(crypt,ParseHex("8cae76aa6a43694e961ebcb28c8ca8f8540b84153d72865e8561ddd93fa7bfa9"));
data/bitcoin-0.18.1~dfsg/src/wallet/test/wallet_crypto_tests.cpp:122:34:  [4] (crypto) crypt:
  The crypt functions use a poor one-way hashing algorithm; since they only
  accept passwords of 8 characters or fewer and only a two-byte salt, they
  are excessively vulnerable to dictionary attacks given today's faster
  computing equipment (CWE-327). Use a different algorithm, such as SHA-256,
  with a larger, non-repeating salt.
        TestCrypter::TestDecrypt(crypt, std::vector<unsigned char>(hash.begin(), hash.end()));
data/bitcoin-0.18.1~dfsg/src/wallet/walletutil.cpp:36:12:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
    boost::system::error_code ec;
data/bitcoin-0.18.1~dfsg/src/wallet/walletutil.cpp:60:12:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
    boost::system::error_code ec;
data/bitcoin-0.18.1~dfsg/src/qt/guiutil.cpp:623:27:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
    char* pszConfigHome = getenv("XDG_CONFIG_HOME");
data/bitcoin-0.18.1~dfsg/src/qt/guiutil.cpp:625:21:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
    char* pszHome = getenv("HOME");
data/bitcoin-0.18.1~dfsg/src/util/system.cpp:692:21:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
    char* pszHome = getenv("HOME");
data/bitcoin-0.18.1~dfsg/src/addrdb.cpp:45:28:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    FILE *file = fsbridge::fopen(pathTmp, "wb");
data/bitcoin-0.18.1~dfsg/src/addrdb.cpp:69:18:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        unsigned char pchMsgTmp[4];
data/bitcoin-0.18.1~dfsg/src/addrdb.cpp:98:28:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    FILE *file = fsbridge::fopen(path, "rb");
data/bitcoin-0.18.1~dfsg/src/bitcoin-tx.cpp:155:15:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    FILE *f = fopen(filename.c_str(), "r");
data/bitcoin-0.18.1~dfsg/src/bitcoin-tx.cpp:164:9:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        char buf[4096];
data/bitcoin-0.18.1~dfsg/src/bitcoin-tx.cpp:754:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char buf[4096];
data/bitcoin-0.18.1~dfsg/src/compat/glibc_compat.cpp:18:18:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
extern "C" void* memcpy(void* a, const void* b, size_t c)
data/bitcoin-0.18.1~dfsg/src/compat/glibc_sanity.cpp:15:18:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
extern "C" void* memcpy(void* a, const void* b, size_t c);
data/bitcoin-0.18.1~dfsg/src/compat/glibc_sanity.cpp:18:12:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    return memcpy(a, b, c);
data/bitcoin-0.18.1~dfsg/src/compressor.cpp:25:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(&hash, &script[3], 20);
data/bitcoin-0.18.1~dfsg/src/compressor.cpp:35:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(&hash, &script[2], 20);
data/bitcoin-0.18.1~dfsg/src/compressor.cpp:62:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(&out[1], &keyID, 20);
data/bitcoin-0.18.1~dfsg/src/compressor.cpp:69:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(&out[1], &scriptID, 20);
data/bitcoin-0.18.1~dfsg/src/compressor.cpp:75:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(&out[1], &pubkey[1], 32);
data/bitcoin-0.18.1~dfsg/src/compressor.cpp:104:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(&script[3], in.data(), 20);
data/bitcoin-0.18.1~dfsg/src/compressor.cpp:112:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(&script[2], in.data(), 20);
data/bitcoin-0.18.1~dfsg/src/compressor.cpp:120:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(&script[2], in.data(), 32);
data/bitcoin-0.18.1~dfsg/src/compressor.cpp:125:18:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        unsigned char vch[33] = {};
data/bitcoin-0.18.1~dfsg/src/compressor.cpp:127:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(&vch[1], in.data(), 32);
data/bitcoin-0.18.1~dfsg/src/compressor.cpp:134:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(&script[1], pubkey.begin(), 65);
data/bitcoin-0.18.1~dfsg/src/crypto/aes.cpp:15:45:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
AES128Encrypt::AES128Encrypt(const unsigned char key[16])
data/bitcoin-0.18.1~dfsg/src/crypto/aes.cpp:25:38:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
void AES128Encrypt::Encrypt(unsigned char ciphertext[16], const unsigned char plaintext[16]) const
data/bitcoin-0.18.1~dfsg/src/crypto/aes.cpp:25:74:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
void AES128Encrypt::Encrypt(unsigned char ciphertext[16], const unsigned char plaintext[16]) const
data/bitcoin-0.18.1~dfsg/src/crypto/aes.cpp:30:45:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
AES128Decrypt::AES128Decrypt(const unsigned char key[16])
data/bitcoin-0.18.1~dfsg/src/crypto/aes.cpp:40:38:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
void AES128Decrypt::Decrypt(unsigned char plaintext[16], const unsigned char ciphertext[16]) const
data/bitcoin-0.18.1~dfsg/src/crypto/aes.cpp:40:73:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
void AES128Decrypt::Decrypt(unsigned char plaintext[16], const unsigned char ciphertext[16]) const
data/bitcoin-0.18.1~dfsg/src/crypto/aes.cpp:45:45:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
AES256Encrypt::AES256Encrypt(const unsigned char key[32])
data/bitcoin-0.18.1~dfsg/src/crypto/aes.cpp:55:38:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
void AES256Encrypt::Encrypt(unsigned char ciphertext[16], const unsigned char plaintext[16]) const
data/bitcoin-0.18.1~dfsg/src/crypto/aes.cpp:55:74:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
void AES256Encrypt::Encrypt(unsigned char ciphertext[16], const unsigned char plaintext[16]) const
data/bitcoin-0.18.1~dfsg/src/crypto/aes.cpp:60:45:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
AES256Decrypt::AES256Decrypt(const unsigned char key[32])
data/bitcoin-0.18.1~dfsg/src/crypto/aes.cpp:70:38:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
void AES256Decrypt::Decrypt(unsigned char plaintext[16], const unsigned char ciphertext[16]) const
data/bitcoin-0.18.1~dfsg/src/crypto/aes.cpp:70:73:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
void AES256Decrypt::Decrypt(unsigned char plaintext[16], const unsigned char ciphertext[16]) const
data/bitcoin-0.18.1~dfsg/src/crypto/aes.cpp:77:52:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
static int CBCEncrypt(const T& enc, const unsigned char iv[AES_BLOCKSIZE], const unsigned char* data, int size, bool pad, unsigned char* out)
data/bitcoin-0.18.1~dfsg/src/crypto/aes.cpp:81:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    unsigned char mixed[AES_BLOCKSIZE];
data/bitcoin-0.18.1~dfsg/src/crypto/aes.cpp:89:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(mixed, iv, AES_BLOCKSIZE);
data/bitcoin-0.18.1~dfsg/src/crypto/aes.cpp:96:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(mixed, out + written, AES_BLOCKSIZE);
data/bitcoin-0.18.1~dfsg/src/crypto/aes.cpp:113:52:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
static int CBCDecrypt(const T& dec, const unsigned char iv[AES_BLOCKSIZE], const unsigned char* data, int size, bool pad, unsigned char* out)
data/bitcoin-0.18.1~dfsg/src/crypto/aes.cpp:153:51:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
AES256CBCEncrypt::AES256CBCEncrypt(const unsigned char key[AES256_KEYSIZE], const unsigned char ivIn[AES_BLOCKSIZE], bool padIn)
data/bitcoin-0.18.1~dfsg/src/crypto/aes.cpp:153:92:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
AES256CBCEncrypt::AES256CBCEncrypt(const unsigned char key[AES256_KEYSIZE], const unsigned char ivIn[AES_BLOCKSIZE], bool padIn)
data/bitcoin-0.18.1~dfsg/src/crypto/aes.cpp:156:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(iv, ivIn, AES_BLOCKSIZE);
data/bitcoin-0.18.1~dfsg/src/crypto/aes.cpp:169:51:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
AES256CBCDecrypt::AES256CBCDecrypt(const unsigned char key[AES256_KEYSIZE], const unsigned char ivIn[AES_BLOCKSIZE], bool padIn)
data/bitcoin-0.18.1~dfsg/src/crypto/aes.cpp:169:92:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
AES256CBCDecrypt::AES256CBCDecrypt(const unsigned char key[AES256_KEYSIZE], const unsigned char ivIn[AES_BLOCKSIZE], bool padIn)
data/bitcoin-0.18.1~dfsg/src/crypto/aes.cpp:172:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(iv, ivIn, AES_BLOCKSIZE);
data/bitcoin-0.18.1~dfsg/src/crypto/aes.cpp:186:51:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
AES128CBCEncrypt::AES128CBCEncrypt(const unsigned char key[AES128_KEYSIZE], const unsigned char ivIn[AES_BLOCKSIZE], bool padIn)
data/bitcoin-0.18.1~dfsg/src/crypto/aes.cpp:186:92:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
AES128CBCEncrypt::AES128CBCEncrypt(const unsigned char key[AES128_KEYSIZE], const unsigned char ivIn[AES_BLOCKSIZE], bool padIn)
data/bitcoin-0.18.1~dfsg/src/crypto/aes.cpp:189:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(iv, ivIn, AES_BLOCKSIZE);
data/bitcoin-0.18.1~dfsg/src/crypto/aes.cpp:202:51:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
AES128CBCDecrypt::AES128CBCDecrypt(const unsigned char key[AES128_KEYSIZE], const unsigned char ivIn[AES_BLOCKSIZE], bool padIn)
data/bitcoin-0.18.1~dfsg/src/crypto/aes.cpp:202:92:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
AES128CBCDecrypt::AES128CBCDecrypt(const unsigned char key[AES128_KEYSIZE], const unsigned char ivIn[AES_BLOCKSIZE], bool padIn)
data/bitcoin-0.18.1~dfsg/src/crypto/aes.cpp:205:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(iv, ivIn, AES_BLOCKSIZE);
data/bitcoin-0.18.1~dfsg/src/crypto/aes.h:25:43:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    explicit AES128Encrypt(const unsigned char key[16]);
data/bitcoin-0.18.1~dfsg/src/crypto/aes.h:27:27:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    void Encrypt(unsigned char ciphertext[16], const unsigned char plaintext[16]) const;
data/bitcoin-0.18.1~dfsg/src/crypto/aes.h:27:63:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    void Encrypt(unsigned char ciphertext[16], const unsigned char plaintext[16]) const;
data/bitcoin-0.18.1~dfsg/src/crypto/aes.h:37:43:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    explicit AES128Decrypt(const unsigned char key[16]);
data/bitcoin-0.18.1~dfsg/src/crypto/aes.h:39:27:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    void Decrypt(unsigned char plaintext[16], const unsigned char ciphertext[16]) const;
data/bitcoin-0.18.1~dfsg/src/crypto/aes.h:39:62:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    void Decrypt(unsigned char plaintext[16], const unsigned char ciphertext[16]) const;
data/bitcoin-0.18.1~dfsg/src/crypto/aes.h:49:43:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    explicit AES256Encrypt(const unsigned char key[32]);
data/bitcoin-0.18.1~dfsg/src/crypto/aes.h:51:27:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    void Encrypt(unsigned char ciphertext[16], const unsigned char plaintext[16]) const;
data/bitcoin-0.18.1~dfsg/src/crypto/aes.h:51:63:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    void Encrypt(unsigned char ciphertext[16], const unsigned char plaintext[16]) const;
data/bitcoin-0.18.1~dfsg/src/crypto/aes.h:61:43:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    explicit AES256Decrypt(const unsigned char key[32]);
data/bitcoin-0.18.1~dfsg/src/crypto/aes.h:63:27:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    void Decrypt(unsigned char plaintext[16], const unsigned char ciphertext[16]) const;
data/bitcoin-0.18.1~dfsg/src/crypto/aes.h:63:62:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    void Decrypt(unsigned char plaintext[16], const unsigned char ciphertext[16]) const;
data/bitcoin-0.18.1~dfsg/src/crypto/aes.h:69:37:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    AES256CBCEncrypt(const unsigned char key[AES256_KEYSIZE], const unsigned char ivIn[AES_BLOCKSIZE], bool padIn);
data/bitcoin-0.18.1~dfsg/src/crypto/aes.h:69:78:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    AES256CBCEncrypt(const unsigned char key[AES256_KEYSIZE], const unsigned char ivIn[AES_BLOCKSIZE], bool padIn);
data/bitcoin-0.18.1~dfsg/src/crypto/aes.h:76:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    unsigned char iv[AES_BLOCKSIZE];
data/bitcoin-0.18.1~dfsg/src/crypto/aes.h:82:37:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    AES256CBCDecrypt(const unsigned char key[AES256_KEYSIZE], const unsigned char ivIn[AES_BLOCKSIZE], bool padIn);
data/bitcoin-0.18.1~dfsg/src/crypto/aes.h:82:78:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    AES256CBCDecrypt(const unsigned char key[AES256_KEYSIZE], const unsigned char ivIn[AES_BLOCKSIZE], bool padIn);
data/bitcoin-0.18.1~dfsg/src/crypto/aes.h:89:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    unsigned char iv[AES_BLOCKSIZE];
data/bitcoin-0.18.1~dfsg/src/crypto/aes.h:95:37:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    AES128CBCEncrypt(const unsigned char key[AES128_KEYSIZE], const unsigned char ivIn[AES_BLOCKSIZE], bool padIn);
data/bitcoin-0.18.1~dfsg/src/crypto/aes.h:95:78:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    AES128CBCEncrypt(const unsigned char key[AES128_KEYSIZE], const unsigned char ivIn[AES_BLOCKSIZE], bool padIn);
data/bitcoin-0.18.1~dfsg/src/crypto/aes.h:102:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    unsigned char iv[AES_BLOCKSIZE];
data/bitcoin-0.18.1~dfsg/src/crypto/aes.h:108:37:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    AES128CBCDecrypt(const unsigned char key[AES128_KEYSIZE], const unsigned char ivIn[AES_BLOCKSIZE], bool padIn);
data/bitcoin-0.18.1~dfsg/src/crypto/aes.h:108:78:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    AES128CBCDecrypt(const unsigned char key[AES128_KEYSIZE], const unsigned char ivIn[AES_BLOCKSIZE], bool padIn);
data/bitcoin-0.18.1~dfsg/src/crypto/aes.h:115:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    unsigned char iv[AES_BLOCKSIZE];
data/bitcoin-0.18.1~dfsg/src/crypto/chacha20.cpp:79:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    unsigned char tmp[64];
data/bitcoin-0.18.1~dfsg/src/crypto/common.h:20:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy((char*)&x, ptr, 2);
data/bitcoin-0.18.1~dfsg/src/crypto/common.h:27:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy((char*)&x, ptr, 4);
data/bitcoin-0.18.1~dfsg/src/crypto/common.h:34:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy((char*)&x, ptr, 8);
data/bitcoin-0.18.1~dfsg/src/crypto/common.h:41:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(ptr, (char*)&v, 2);
data/bitcoin-0.18.1~dfsg/src/crypto/common.h:47:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(ptr, (char*)&v, 4);
data/bitcoin-0.18.1~dfsg/src/crypto/common.h:53:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(ptr, (char*)&v, 8);
data/bitcoin-0.18.1~dfsg/src/crypto/common.h:59:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy((char*)&x, ptr, 4);
data/bitcoin-0.18.1~dfsg/src/crypto/common.h:66:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy((char*)&x, ptr, 8);
data/bitcoin-0.18.1~dfsg/src/crypto/common.h:73:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(ptr, (char*)&v, 4);
data/bitcoin-0.18.1~dfsg/src/crypto/common.h:79:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(ptr, (char*)&v, 8);
data/bitcoin-0.18.1~dfsg/src/crypto/ctaes/bench.c:69:27:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    static const unsigned char key[16] = {0};
data/bitcoin-0.18.1~dfsg/src/crypto/ctaes/bench.c:75:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    unsigned char scratch[16] = {0};
data/bitcoin-0.18.1~dfsg/src/crypto/ctaes/bench.c:84:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    unsigned char scratch[16] = {0};
data/bitcoin-0.18.1~dfsg/src/crypto/ctaes/bench.c:101:27:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    static const unsigned char key[16] = {0};
data/bitcoin-0.18.1~dfsg/src/crypto/ctaes/bench.c:107:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    unsigned char scratch[16] = {0};
data/bitcoin-0.18.1~dfsg/src/crypto/ctaes/bench.c:116:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    unsigned char scratch[16] = {0};
data/bitcoin-0.18.1~dfsg/src/crypto/ctaes/bench.c:134:27:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    static const unsigned char key[16] = {0};
data/bitcoin-0.18.1~dfsg/src/crypto/ctaes/bench.c:140:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    unsigned char scratch[16] = {0};
data/bitcoin-0.18.1~dfsg/src/crypto/ctaes/bench.c:149:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    unsigned char scratch[16] = {0};
data/bitcoin-0.18.1~dfsg/src/crypto/ctaes/test.c:64:18:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        unsigned char key[32], plain[16], cipher[16], ciphered[16], deciphered[16];
data/bitcoin-0.18.1~dfsg/src/crypto/hmac_sha256.cpp:11:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    unsigned char rkey[64];
data/bitcoin-0.18.1~dfsg/src/crypto/hmac_sha256.cpp:13:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(rkey, key, keylen);
data/bitcoin-0.18.1~dfsg/src/crypto/hmac_sha256.cpp:29:38:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
void CHMAC_SHA256::Finalize(unsigned char hash[OUTPUT_SIZE])
data/bitcoin-0.18.1~dfsg/src/crypto/hmac_sha256.cpp:31:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    unsigned char temp[32];
data/bitcoin-0.18.1~dfsg/src/crypto/hmac_sha256.h:29:28:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    void Finalize(unsigned char hash[OUTPUT_SIZE]);
data/bitcoin-0.18.1~dfsg/src/crypto/hmac_sha512.cpp:11:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    unsigned char rkey[128];
data/bitcoin-0.18.1~dfsg/src/crypto/hmac_sha512.cpp:13:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(rkey, key, keylen);
data/bitcoin-0.18.1~dfsg/src/crypto/hmac_sha512.cpp:29:38:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
void CHMAC_SHA512::Finalize(unsigned char hash[OUTPUT_SIZE])
data/bitcoin-0.18.1~dfsg/src/crypto/hmac_sha512.cpp:31:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    unsigned char temp[64];
data/bitcoin-0.18.1~dfsg/src/crypto/hmac_sha512.h:29:28:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    void Finalize(unsigned char hash[OUTPUT_SIZE]);
data/bitcoin-0.18.1~dfsg/src/crypto/ripemd160.cpp:253:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(buf + bufsize, data, 64 - bufsize);
data/bitcoin-0.18.1~dfsg/src/crypto/ripemd160.cpp:267:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(buf + bufsize, data, end - data);
data/bitcoin-0.18.1~dfsg/src/crypto/ripemd160.cpp:273:36:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
void CRIPEMD160::Finalize(unsigned char hash[OUTPUT_SIZE])
data/bitcoin-0.18.1~dfsg/src/crypto/ripemd160.cpp:275:27:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    static const unsigned char pad[64] = {0x80};
data/bitcoin-0.18.1~dfsg/src/crypto/ripemd160.cpp:276:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    unsigned char sizedesc[8];
data/bitcoin-0.18.1~dfsg/src/crypto/ripemd160.h:16:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    unsigned char buf[64];
data/bitcoin-0.18.1~dfsg/src/crypto/ripemd160.h:24:28:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    void Finalize(unsigned char hash[OUTPUT_SIZE]);
data/bitcoin-0.18.1~dfsg/src/crypto/sha1.cpp:160:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(buf + bufsize, data, 64 - bufsize);
data/bitcoin-0.18.1~dfsg/src/crypto/sha1.cpp:174:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(buf + bufsize, data, end - data);
data/bitcoin-0.18.1~dfsg/src/crypto/sha1.cpp:180:31:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
void CSHA1::Finalize(unsigned char hash[OUTPUT_SIZE])
data/bitcoin-0.18.1~dfsg/src/crypto/sha1.cpp:182:27:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    static const unsigned char pad[64] = {0x80};
data/bitcoin-0.18.1~dfsg/src/crypto/sha1.cpp:183:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    unsigned char sizedesc[8];
data/bitcoin-0.18.1~dfsg/src/crypto/sha1.h:16:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    unsigned char buf[64];
data/bitcoin-0.18.1~dfsg/src/crypto/sha1.h:24:28:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    void Finalize(unsigned char hash[OUTPUT_SIZE]);
data/bitcoin-0.18.1~dfsg/src/crypto/sha256.cpp:424:27:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    static const unsigned char padding1[64] = {
data/bitcoin-0.18.1~dfsg/src/crypto/sha256.cpp:430:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    unsigned char buffer2[64] = {
data/bitcoin-0.18.1~dfsg/src/crypto/sha256.cpp:471:27:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    static const unsigned char data[641] = "-" // Intentionally not aligned
data/bitcoin-0.18.1~dfsg/src/crypto/sha256.cpp:493:27:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    static const unsigned char result_d64[256] = {
data/bitcoin-0.18.1~dfsg/src/crypto/sha256.cpp:522:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    unsigned char out[32];
data/bitcoin-0.18.1~dfsg/src/crypto/sha256.cpp:528:18:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        unsigned char out[64];
data/bitcoin-0.18.1~dfsg/src/crypto/sha256.cpp:535:18:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        unsigned char out[128];
data/bitcoin-0.18.1~dfsg/src/crypto/sha256.cpp:542:18:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        unsigned char out[256];
data/bitcoin-0.18.1~dfsg/src/crypto/sha256.cpp:654:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(buf + bufsize, data, 64 - bufsize);
data/bitcoin-0.18.1~dfsg/src/crypto/sha256.cpp:668:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(buf + bufsize, data, end - data);
data/bitcoin-0.18.1~dfsg/src/crypto/sha256.cpp:674:33:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
void CSHA256::Finalize(unsigned char hash[OUTPUT_SIZE])
data/bitcoin-0.18.1~dfsg/src/crypto/sha256.cpp:676:27:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    static const unsigned char pad[64] = {0x80};
data/bitcoin-0.18.1~dfsg/src/crypto/sha256.cpp:677:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    unsigned char sizedesc[8];
data/bitcoin-0.18.1~dfsg/src/crypto/sha256.h:17:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    unsigned char buf[64];
data/bitcoin-0.18.1~dfsg/src/crypto/sha256.h:25:28:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    void Finalize(unsigned char hash[OUTPUT_SIZE]);
data/bitcoin-0.18.1~dfsg/src/crypto/sha512.cpp:165:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(buf + bufsize, data, 128 - bufsize);
data/bitcoin-0.18.1~dfsg/src/crypto/sha512.cpp:179:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(buf + bufsize, data, end - data);
data/bitcoin-0.18.1~dfsg/src/crypto/sha512.cpp:185:33:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
void CSHA512::Finalize(unsigned char hash[OUTPUT_SIZE])
data/bitcoin-0.18.1~dfsg/src/crypto/sha512.cpp:187:27:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    static const unsigned char pad[128] = {0x80};
data/bitcoin-0.18.1~dfsg/src/crypto/sha512.cpp:188:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    unsigned char sizedesc[16] = {0x00};
data/bitcoin-0.18.1~dfsg/src/crypto/sha512.h:16:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    unsigned char buf[128];
data/bitcoin-0.18.1~dfsg/src/crypto/sha512.h:24:28:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    void Finalize(unsigned char hash[OUTPUT_SIZE]);
data/bitcoin-0.18.1~dfsg/src/dbwrapper.cpp:29:13:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
            char buffer[500];
data/bitcoin-0.18.1~dfsg/src/dbwrapper.cpp:227:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    unsigned char buff[OBFUSCATE_KEY_NUM_BYTES];
data/bitcoin-0.18.1~dfsg/src/fs.cpp:13:7:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
FILE *fopen(const fs::path& p, const char *mode)
data/bitcoin-0.18.1~dfsg/src/fs.cpp:16:14:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    return ::fopen(p.string().c_str(), mode);
data/bitcoin-0.18.1~dfsg/src/fs.cpp:31:10:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    fd = open(file.string().c_str(), O_RDWR);
data/bitcoin-0.18.1~dfsg/src/fs.cpp:108:16:  [2] (buffer) MultiByteToWideChar:
  Requires maximum length in CHARACTERS, not bytes (CWE-120).
    int size = MultiByteToWideChar(CP_ACP, 0, mb_string.c_str(), mb_string.size(), nullptr, 0);
data/bitcoin-0.18.1~dfsg/src/fs.cpp:111:5:  [2] (buffer) MultiByteToWideChar:
  Requires maximum length in CHARACTERS, not bytes (CWE-120).
    MultiByteToWideChar(CP_ACP, 0, mb_string.c_str(), mb_string.size(), &*utf16_string.begin(), size);
data/bitcoin-0.18.1~dfsg/src/fs.cpp:160:16:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
void ifstream::open(const fs::path& p, std::ios_base::openmode mode)
data/bitcoin-0.18.1~dfsg/src/fs.cpp:164:24:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    m_file = fsbridge::fopen(p, openmodeToStr(mode).c_str());
data/bitcoin-0.18.1~dfsg/src/fs.cpp:184:16:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
void ofstream::open(const fs::path& p, std::ios_base::openmode mode)
data/bitcoin-0.18.1~dfsg/src/fs.cpp:188:24:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    m_file = fsbridge::fopen(p, openmodeToStr(mode).c_str());
data/bitcoin-0.18.1~dfsg/src/fs.h:22:11:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    FILE *fopen(const fs::path& p, const char *mode);
data/bitcoin-0.18.1~dfsg/src/fs.h:65:98:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
        explicit ifstream(const fs::path& p, std::ios_base::openmode mode = std::ios_base::in) { open(p, mode); }
data/bitcoin-0.18.1~dfsg/src/fs.h:67:14:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
        void open(const fs::path& p, std::ios_base::openmode mode = std::ios_base::in);
data/bitcoin-0.18.1~dfsg/src/fs.h:79:99:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
        explicit ofstream(const fs::path& p, std::ios_base::openmode mode = std::ios_base::out) { open(p, mode); }
data/bitcoin-0.18.1~dfsg/src/fs.h:81:14:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
        void open(const fs::path& p, std::ios_base::openmode mode = std::ios_base::out);
data/bitcoin-0.18.1~dfsg/src/hash.cpp:71:74:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
void BIP32Hash(const ChainCode &chainCode, unsigned int nChild, unsigned char header, const unsigned char data[32], unsigned char output[64])
data/bitcoin-0.18.1~dfsg/src/hash.cpp:71:102:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
void BIP32Hash(const ChainCode &chainCode, unsigned int nChild, unsigned char header, const unsigned char data[32], unsigned char output[64])
data/bitcoin-0.18.1~dfsg/src/hash.cpp:71:126:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
void BIP32Hash(const ChainCode &chainCode, unsigned int nChild, unsigned char header, const unsigned char data[32], unsigned char output[64])
data/bitcoin-0.18.1~dfsg/src/hash.cpp:73:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    unsigned char num[4];
data/bitcoin-0.18.1~dfsg/src/hash.h:28:28:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    void Finalize(unsigned char hash[OUTPUT_SIZE]) {
data/bitcoin-0.18.1~dfsg/src/hash.h:29:18:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        unsigned char buf[CSHA256::OUTPUT_SIZE];
data/bitcoin-0.18.1~dfsg/src/hash.h:52:28:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    void Finalize(unsigned char hash[OUTPUT_SIZE]) {
data/bitcoin-0.18.1~dfsg/src/hash.h:53:18:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        unsigned char buf[CSHA256::OUTPUT_SIZE];
data/bitcoin-0.18.1~dfsg/src/hash.h:73:27:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    static const unsigned char pblank[1] = {};
data/bitcoin-0.18.1~dfsg/src/hash.h:84:27:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    static const unsigned char pblank[1] = {};
data/bitcoin-0.18.1~dfsg/src/hash.h:96:21:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    static unsigned char pblank[1] = {};
data/bitcoin-0.18.1~dfsg/src/hash.h:146:18:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        unsigned char result[CHash256::OUTPUT_SIZE];
data/bitcoin-0.18.1~dfsg/src/hash.h:177:9:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        char data[1024];
data/bitcoin-0.18.1~dfsg/src/hash.h:205:74:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
void BIP32Hash(const ChainCode &chainCode, unsigned int nChild, unsigned char header, const unsigned char data[32], unsigned char output[64]);
data/bitcoin-0.18.1~dfsg/src/hash.h:205:102:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
void BIP32Hash(const ChainCode &chainCode, unsigned int nChild, unsigned char header, const unsigned char data[32], unsigned char output[64]);
data/bitcoin-0.18.1~dfsg/src/hash.h:205:126:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
void BIP32Hash(const ChainCode &chainCode, unsigned int nChild, unsigned char header, const unsigned char data[32], unsigned char output[64]);
data/bitcoin-0.18.1~dfsg/src/httprpc.cpp:115:18:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        unsigned char out[KEY_SIZE];
data/bitcoin-0.18.1~dfsg/src/init.cpp:245:41:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
        CAutoFile est_fileout(fsbridge::fopen(est_path, "wb"), SER_DISK, CLIENT_VERSION);
data/bitcoin-0.18.1~dfsg/src/init.cpp:649:13:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
        if (atoi(item.first) == nContigCounter) {
data/bitcoin-0.18.1~dfsg/src/init.cpp:690:32:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
        FILE *file = fsbridge::fopen(pathBootstrap, "rb");
data/bitcoin-0.18.1~dfsg/src/init.cpp:703:32:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
        FILE *file = fsbridge::fopen(path, "rb");
data/bitcoin-0.18.1~dfsg/src/init.cpp:1635:36:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    CAutoFile est_filein(fsbridge::fopen(est_path, "rb"), SER_DISK, CLIENT_VERSION);
data/bitcoin-0.18.1~dfsg/src/key.cpp:74:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(out32 + (32 - oslen), privkey, oslen);
data/bitcoin-0.18.1~dfsg/src/key.cpp:116:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(ptr, begin, sizeof(begin)); ptr += sizeof(begin);
data/bitcoin-0.18.1~dfsg/src/key.cpp:117:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(ptr, key32, 32); ptr += 32;
data/bitcoin-0.18.1~dfsg/src/key.cpp:118:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(ptr, middle, sizeof(middle)); ptr += sizeof(middle);
data/bitcoin-0.18.1~dfsg/src/key.cpp:142:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(ptr, begin, sizeof(begin)); ptr += sizeof(begin);
data/bitcoin-0.18.1~dfsg/src/key.cpp:143:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(ptr, key32, 32); ptr += 32;
data/bitcoin-0.18.1~dfsg/src/key.cpp:144:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(ptr, middle, sizeof(middle)); ptr += sizeof(middle);
data/bitcoin-0.18.1~dfsg/src/key.cpp:195:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    unsigned char compact_sig[64];
data/bitcoin-0.18.1~dfsg/src/key.cpp:210:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    unsigned char extra_entropy[32] = {0};
data/bitcoin-0.18.1~dfsg/src/key.cpp:231:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    unsigned char rnd[8];
data/bitcoin-0.18.1~dfsg/src/key.cpp:280:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(ccChild.begin(), vout.data()+32, 32);
data/bitcoin-0.18.1~dfsg/src/key.cpp:281:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy((unsigned char*)keyChild.begin(), begin(), 32);
data/bitcoin-0.18.1~dfsg/src/key.cpp:291:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(&out.vchFingerprint[0], &id, 4);
data/bitcoin-0.18.1~dfsg/src/key.cpp:301:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(chaincode.begin(), vout.data() + 32, 32);
data/bitcoin-0.18.1~dfsg/src/key.cpp:310:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(&ret.vchFingerprint[0], &vchFingerprint[0], 4);
data/bitcoin-0.18.1~dfsg/src/key.cpp:317:31:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
void CExtKey::Encode(unsigned char code[BIP32_EXTKEY_SIZE]) const {
data/bitcoin-0.18.1~dfsg/src/key.cpp:319:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(code+1, vchFingerprint, 4);
data/bitcoin-0.18.1~dfsg/src/key.cpp:322:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(code+9, chaincode.begin(), 32);
data/bitcoin-0.18.1~dfsg/src/key.cpp:325:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(code+42, key.begin(), 32);
data/bitcoin-0.18.1~dfsg/src/key.cpp:328:37:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
void CExtKey::Decode(const unsigned char code[BIP32_EXTKEY_SIZE]) {
data/bitcoin-0.18.1~dfsg/src/key.cpp:330:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(vchFingerprint, code+1, 4);
data/bitcoin-0.18.1~dfsg/src/key.cpp:332:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(chaincode.begin(), code+9, 32);
data/bitcoin-0.18.1~dfsg/src/key.h:79:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(keydata.data(), (unsigned char*)&pbegin[0], keydata.size());
data/bitcoin-0.18.1~dfsg/src/key.h:143:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    unsigned char vchFingerprint[4];
data/bitcoin-0.18.1~dfsg/src/key.h:157:26:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    void Encode(unsigned char code[BIP32_EXTKEY_SIZE]) const;
data/bitcoin-0.18.1~dfsg/src/key.h:158:32:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    void Decode(const unsigned char code[BIP32_EXTKEY_SIZE]);
data/bitcoin-0.18.1~dfsg/src/key.h:167:18:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        unsigned char code[BIP32_EXTKEY_SIZE];
data/bitcoin-0.18.1~dfsg/src/key.h:175:18:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        unsigned char code[BIP32_EXTKEY_SIZE];
data/bitcoin-0.18.1~dfsg/src/logging.cpp:46:27:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    m_fileout = fsbridge::fopen(m_file_path, "a");
data/bitcoin-0.18.1~dfsg/src/logging.cpp:228:47:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
                FILE* new_fileout = fsbridge::fopen(m_file_path, "a");
data/bitcoin-0.18.1~dfsg/src/logging.cpp:248:28:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    FILE* file = fsbridge::fopen(m_file_path, "r");
data/bitcoin-0.18.1~dfsg/src/logging.cpp:270:26:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
        file = fsbridge::fopen(m_file_path, "w");
data/bitcoin-0.18.1~dfsg/src/net.cpp:641:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(&hdrbuf[nHdrPos], pch, nCopy);
data/bitcoin-0.18.1~dfsg/src/net.cpp:677:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(&vRecv[nDataPos], pch, nCopy);
data/bitcoin-0.18.1~dfsg/src/net.cpp:1300:13:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
            char pchBuf[0x10000];
data/bitcoin-0.18.1~dfsg/src/net.cpp:1406:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char lanaddr[64];
data/bitcoin-0.18.1~dfsg/src/net.cpp:1429:13:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
            char externalIPAddress[40];
data/bitcoin-0.18.1~dfsg/src/net.cpp:2077:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char pszHostName[256] = "";
data/bitcoin-0.18.1~dfsg/src/net.cpp:2702:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(hdr.pchChecksum, hash.begin(), CMessageHeader::CHECKSUM_SIZE);
data/bitcoin-0.18.1~dfsg/src/netaddress.cpp:11:23:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
static const unsigned char pchIPv4[12] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xff, 0xff };
data/bitcoin-0.18.1~dfsg/src/netaddress.cpp:32:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(ip, pchIPv4, 12);
data/bitcoin-0.18.1~dfsg/src/netaddress.cpp:33:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(ip+12, ip_in, 4);
data/bitcoin-0.18.1~dfsg/src/netaddress.cpp:36:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(ip, ip_in, 16);
data/bitcoin-0.18.1~dfsg/src/netaddress.cpp:48:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    unsigned char hash[32] = {};
data/bitcoin-0.18.1~dfsg/src/netaddress.cpp:50:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(ip, g_internal_prefix, sizeof(g_internal_prefix));
data/bitcoin-0.18.1~dfsg/src/netaddress.cpp:51:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(ip + sizeof(g_internal_prefix), hash, sizeof(ip) - sizeof(g_internal_prefix));
data/bitcoin-0.18.1~dfsg/src/netaddress.cpp:61:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(ip, pchOnionCat, sizeof(pchOnionCat));
data/bitcoin-0.18.1~dfsg/src/netaddress.cpp:190:27:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    static const unsigned char pchLocal[16] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1};
data/bitcoin-0.18.1~dfsg/src/netaddress.cpp:209:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    unsigned char ipNone6[16] = {};
data/bitcoin-0.18.1~dfsg/src/netaddress.cpp:273:9:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        char name[1025] = "";
data/bitcoin-0.18.1~dfsg/src/netaddress.cpp:306:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(pipv4Addr, ip+12, 4);
data/bitcoin-0.18.1~dfsg/src/netaddress.cpp:315:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(pipv6Addr, ip, 16);
data/bitcoin-0.18.1~dfsg/src/netaddress.cpp:563:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
     memcpy(vKey.data(), ip, 16);
data/bitcoin-0.18.1~dfsg/src/netaddress.h:35:18:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        unsigned char ip[16]; // in network byte order
data/bitcoin-0.18.1~dfsg/src/netbase.cpp:669:5:  [2] (buffer) wchar_t:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    wchar_t buf[256];
data/bitcoin-0.18.1~dfsg/src/netbase.cpp:685:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char buf[256];
data/bitcoin-0.18.1~dfsg/src/prevector.h:152:9:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        char direct[sizeof(T) * N];
data/bitcoin-0.18.1~dfsg/src/prevector.h:171:17:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
                memcpy(dst, src, size() * sizeof(T));
data/bitcoin-0.18.1~dfsg/src/prevector.h:188:17:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
                memcpy(dst, src, size() * sizeof(T));
data/bitcoin-0.18.1~dfsg/src/protocol.cpp:81:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(pchMessageStart, pchMessageStartIn, MESSAGE_START_SIZE);
data/bitcoin-0.18.1~dfsg/src/protocol.cpp:89:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(pchMessageStart, pchMessageStartIn, MESSAGE_START_SIZE);
data/bitcoin-0.18.1~dfsg/src/protocol.h:38:22:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    typedef unsigned char MessageStartChars[MESSAGE_START_SIZE];
data/bitcoin-0.18.1~dfsg/src/protocol.h:57:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char pchMessageStart[MESSAGE_START_SIZE];
data/bitcoin-0.18.1~dfsg/src/protocol.h:58:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char pchCommand[COMMAND_SIZE];
data/bitcoin-0.18.1~dfsg/src/pubkey.cpp:31:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    unsigned char tmpsig[64] = {0};
data/bitcoin-0.18.1~dfsg/src/pubkey.cpp:142:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(tmpsig + 32 - rlen, input + rpos, rlen);
data/bitcoin-0.18.1~dfsg/src/pubkey.cpp:154:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(tmpsig + 64 - slen, input + spos, slen);
data/bitcoin-0.18.1~dfsg/src/pubkey.cpp:199:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    unsigned char pub[PUBLIC_KEY_SIZE];
data/bitcoin-0.18.1~dfsg/src/pubkey.cpp:220:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    unsigned char pub[PUBLIC_KEY_SIZE];
data/bitcoin-0.18.1~dfsg/src/pubkey.cpp:231:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    unsigned char out[64];
data/bitcoin-0.18.1~dfsg/src/pubkey.cpp:233:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(ccChild.begin(), out+32, 32);
data/bitcoin-0.18.1~dfsg/src/pubkey.cpp:241:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    unsigned char pub[COMPRESSED_PUBLIC_KEY_SIZE];
data/bitcoin-0.18.1~dfsg/src/pubkey.cpp:248:34:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
void CExtPubKey::Encode(unsigned char code[BIP32_EXTKEY_SIZE]) const {
data/bitcoin-0.18.1~dfsg/src/pubkey.cpp:250:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(code+1, vchFingerprint, 4);
data/bitcoin-0.18.1~dfsg/src/pubkey.cpp:253:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(code+9, chaincode.begin(), 32);
data/bitcoin-0.18.1~dfsg/src/pubkey.cpp:255:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(code+41, pubkey.begin(), CPubKey::COMPRESSED_PUBLIC_KEY_SIZE);
data/bitcoin-0.18.1~dfsg/src/pubkey.cpp:258:40:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
void CExtPubKey::Decode(const unsigned char code[BIP32_EXTKEY_SIZE]) {
data/bitcoin-0.18.1~dfsg/src/pubkey.cpp:260:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(vchFingerprint, code+1, 4);
data/bitcoin-0.18.1~dfsg/src/pubkey.cpp:262:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(chaincode.begin(), code+9, 32);
data/bitcoin-0.18.1~dfsg/src/pubkey.cpp:269:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(&out.vchFingerprint[0], &id, 4);
data/bitcoin-0.18.1~dfsg/src/pubkey.h:54:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    unsigned char vch[PUBLIC_KEY_SIZE];
data/bitcoin-0.18.1~dfsg/src/pubkey.h:90:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(vch, (unsigned char*)&pbegin[0], len);
data/bitcoin-0.18.1~dfsg/src/pubkey.h:208:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    unsigned char vchFingerprint[4];
data/bitcoin-0.18.1~dfsg/src/pubkey.h:222:26:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    void Encode(unsigned char code[BIP32_EXTKEY_SIZE]) const;
data/bitcoin-0.18.1~dfsg/src/pubkey.h:223:32:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    void Decode(const unsigned char code[BIP32_EXTKEY_SIZE]);
data/bitcoin-0.18.1~dfsg/src/pubkey.h:236:18:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        unsigned char code[BIP32_EXTKEY_SIZE];
data/bitcoin-0.18.1~dfsg/src/pubkey.h:244:18:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        unsigned char code[BIP32_EXTKEY_SIZE];
data/bitcoin-0.18.1~dfsg/src/qt/csvmodelwriter.cpp:52:14:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    if(!file.open(QIODevice::WriteOnly | QIODevice::Text))
data/bitcoin-0.18.1~dfsg/src/qt/guiutil.cpp:663:9:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        char pszExePath[MAX_PATH+1];
data/bitcoin-0.18.1~dfsg/src/qt/paymentserver.cpp:534:12:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    if (!f.open(QIODevice::ReadOnly)) {
data/bitcoin-0.18.1~dfsg/src/qt/rpcconsole.cpp:232:61:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
                                    subelement = lastResult[atoi(curarg.c_str())];
data/bitcoin-0.18.1~dfsg/src/qt/test/paymentservertests.cpp:47:7:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    f.open();
data/bitcoin-0.18.1~dfsg/src/qt/test/paymentservertests.cpp:188:14:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    tempFile.open();
data/bitcoin-0.18.1~dfsg/src/qt/walletcontroller.cpp:157:26:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
void OpenWalletActivity::open()
data/bitcoin-0.18.1~dfsg/src/qt/walletcontroller.h:78:10:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    void open();
data/bitcoin-0.18.1~dfsg/src/random.cpp:284:13:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    int f = open("/dev/urandom", O_RDONLY);
data/bitcoin-0.18.1~dfsg/src/random.cpp:387:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    unsigned char m_state[32] GUARDED_BY(m_mutex) = {0};
data/bitcoin-0.18.1~dfsg/src/random.cpp:424:18:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        unsigned char buf[64];
data/bitcoin-0.18.1~dfsg/src/random.cpp:438:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(m_state, buf + 32, 32);
data/bitcoin-0.18.1~dfsg/src/random.cpp:443:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(out, buf, num);
data/bitcoin-0.18.1~dfsg/src/random.cpp:497:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    unsigned char buffer[32];
data/bitcoin-0.18.1~dfsg/src/random.cpp:512:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    unsigned char buffer[32];
data/bitcoin-0.18.1~dfsg/src/random.cpp:602:18:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        unsigned char buf[64];
data/bitcoin-0.18.1~dfsg/src/random.cpp:645:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(ret.begin(), bytebuf + 64 - bytebuf_size, 32);
data/bitcoin-0.18.1~dfsg/src/random.h:101:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    unsigned char bytebuf[64];
data/bitcoin-0.18.1~dfsg/src/rpc/protocol.cpp:79:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    unsigned char rand_pwd[COOKIE_SIZE];
data/bitcoin-0.18.1~dfsg/src/rpc/protocol.cpp:88:10:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    file.open(filepath_tmp);
data/bitcoin-0.18.1~dfsg/src/rpc/protocol.cpp:113:10:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    file.open(filepath);
data/bitcoin-0.18.1~dfsg/src/script/bitcoinconsensus.cpp:37:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(pch, m_data, nSize);
data/bitcoin-0.18.1~dfsg/src/script/sigcache.h:38:14:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        std::memcpy(&u, key.begin()+4*hash_select, 4);
data/bitcoin-0.18.1~dfsg/src/script/sign.h:25:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    unsigned char fingerprint[4]; //!< First 32 bits of the Hash160 of the public key at the root of the path
data/bitcoin-0.18.1~dfsg/src/script/standard.h:96:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    unsigned char program[40];
data/bitcoin-0.18.1~dfsg/src/serialize.h:375:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    unsigned char tmp[(sizeof(n)*8+6)/7];
data/bitcoin-0.18.1~dfsg/src/streams.h:101:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(vchData.data() + nPos, reinterpret_cast<const unsigned char*>(pch), nOverwrite);
data/bitcoin-0.18.1~dfsg/src/streams.h:193:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(dst, m_data.data() + m_pos, n);
data/bitcoin-0.18.1~dfsg/src/streams.h:314:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(&vch[nReadPos], &first[0], last - first);
data/bitcoin-0.18.1~dfsg/src/streams.h:328:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(&vch[nReadPos], &first[0], last - first);
data/bitcoin-0.18.1~dfsg/src/streams.h:408:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(pch, &vch[nReadPos], nSize);
data/bitcoin-0.18.1~dfsg/src/streams.h:668:18:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        unsigned char data[4096];
data/bitcoin-0.18.1~dfsg/src/streams.h:791:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(pch, &vchBuf[pos], nNow);
data/bitcoin-0.18.1~dfsg/src/test/arith_uint256_tests.cpp:157:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    unsigned char TmpArray[32];
data/bitcoin-0.18.1~dfsg/src/test/arith_uint256_tests.cpp:203:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    unsigned char TmpArray[32];
data/bitcoin-0.18.1~dfsg/src/test/arith_uint256_tests.cpp:225:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    unsigned char TmpArray[32];
data/bitcoin-0.18.1~dfsg/src/test/arith_uint256_tests.cpp:551:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    unsigned char TmpArray[32];
data/bitcoin-0.18.1~dfsg/src/test/bip32_tests.cpp:97:18:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        unsigned char data[74];
data/bitcoin-0.18.1~dfsg/src/test/bloom_tests.cpp:155:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(data.data(), prevOutPoint.hash.begin(), 32);
data/bitcoin-0.18.1~dfsg/src/test/bloom_tests.cpp:156:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(data.data()+32, &prevOutPoint.n, sizeof(unsigned int));
data/bitcoin-0.18.1~dfsg/src/test/compilerbug_tests.cpp:26:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    unsigned char buf[1];
data/bitcoin-0.18.1~dfsg/src/test/compilerbug_tests.cpp:33:18:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        unsigned char in[4];
data/bitcoin-0.18.1~dfsg/src/test/crypto_tests.cpp:552:18:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        unsigned char in[64 * 32];
data/bitcoin-0.18.1~dfsg/src/test/crypto_tests.cpp:553:18:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        unsigned char out1[32 * 32], out2[32 * 32];
data/bitcoin-0.18.1~dfsg/src/test/dbwrapper_tests.cpp:278:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char buf[10];
data/bitcoin-0.18.1~dfsg/src/test/hash_tests.cpp:85:27:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    static const unsigned char t0[1] = {0};
data/bitcoin-0.18.1~dfsg/src/test/hash_tests.cpp:88:27:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    static const unsigned char t1[7] = {1,2,3,4,5,6,7};
data/bitcoin-0.18.1~dfsg/src/test/hash_tests.cpp:93:27:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    static const unsigned char t2[2] = {16,17};
data/bitcoin-0.18.1~dfsg/src/test/hash_tests.cpp:96:27:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    static const unsigned char t3[9] = {18,19,20,21,22,23,24,25,26};
data/bitcoin-0.18.1~dfsg/src/test/hash_tests.cpp:99:27:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    static const unsigned char t4[5] = {27,28,29,30,31};
data/bitcoin-0.18.1~dfsg/src/test/net_tests.cpp:115:18:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        unsigned char pchMsgTmp[4];
data/bitcoin-0.18.1~dfsg/src/test/net_tests.cpp:148:18:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        unsigned char pchMsgTmp[4];
data/bitcoin-0.18.1~dfsg/src/test/net_tests.cpp:272:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(&(sa.sin_addr), &ip, sizeof(ip));
data/bitcoin-0.18.1~dfsg/src/test/script_tests.cpp:205:27:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    static const unsigned char order[33] = {
data/bitcoin-0.18.1~dfsg/src/test/script_tests.cpp:240:16:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
const unsigned char vchKey0[32] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1};
data/bitcoin-0.18.1~dfsg/src/test/script_tests.cpp:241:16:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
const unsigned char vchKey1[32] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0};
data/bitcoin-0.18.1~dfsg/src/test/script_tests.cpp:242:16:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
const unsigned char vchKey2[32] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0};
data/bitcoin-0.18.1~dfsg/src/test/script_tests.cpp:957:18:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    FILE* file = fopen("script_tests.json.gen", "w");
data/bitcoin-0.18.1~dfsg/src/test/serialize_tests.cpp:22:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char charstrval[16];
data/bitcoin-0.18.1~dfsg/src/test/serialize_tests.cpp:351:11:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    const char charstrval[16] = "testing charstr";
data/bitcoin-0.18.1~dfsg/src/test/util_tests.cpp:46:23:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
static const unsigned char ParseHex_expected[65] = {
data/bitcoin-0.18.1~dfsg/src/tinyformat.h:183:23:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
        struct fail { char dummy[2]; };
data/bitcoin-0.18.1~dfsg/src/torcontrol.cpp:148:30:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
        self->message.code = atoi(s.substr(0,3));
data/bitcoin-0.18.1~dfsg/src/torcontrol.cpp:367:25:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    FILE *f = fsbridge::fopen(filename, "rb");
data/bitcoin-0.18.1~dfsg/src/torcontrol.cpp:371:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char buffer[128];
data/bitcoin-0.18.1~dfsg/src/torcontrol.cpp:393:25:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    FILE *f = fsbridge::fopen(filename, "wb");
data/bitcoin-0.18.1~dfsg/src/util/strencodings.cpp:37:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
const signed char p_util_hexdigit[256] =
data/bitcoin-0.18.1~dfsg/src/util/strencodings.cpp:425:5:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
int atoi(const std::string& str)
data/bitcoin-0.18.1~dfsg/src/util/strencodings.cpp:427:12:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    return atoi(str.c_str());
data/bitcoin-0.18.1~dfsg/src/util/strencodings.h:61:5:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
int atoi(const std::string& str);
data/bitcoin-0.18.1~dfsg/src/util/strencodings.h:127:18:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    static const char hexmap[16] = { '0', '1', '2', '3', '4', '5', '6', '7',
data/bitcoin-0.18.1~dfsg/src/util/system.cpp:100:28:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    FILE* file = fsbridge::fopen(pathLockFile, "a");
data/bitcoin-0.18.1~dfsg/src/util/system.cpp:129:28:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    FILE* file = fsbridge::fopen(tmpFile, "a");
data/bitcoin-0.18.1~dfsg/src/util/system.cpp:159:13:  [2] (integer) atoi:
  Unless checked, the resulting number can exceed the expected range
  (CWE-190). If source untrusted, check both minimum and maximum, even if the
  input had no minus sign (large numbers can roll over into negative number;
  consider saving to an unsigned value if that is intended).
    return (atoi(strValue) != 0);
data/bitcoin-0.18.1~dfsg/src/util/system.cpp:661:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char pszModule[MAX_PATH] = "";
data/bitcoin-0.18.1~dfsg/src/util/system.cpp:1095:18:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    static const char buf[65536] = {};
data/bitcoin-0.18.1~dfsg/src/validation.cpp:3217:13:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
            memcpy(&out.scriptPubKey[6], witnessroot.begin(), 32);
data/bitcoin-0.18.1~dfsg/src/validation.cpp:3806:28:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    FILE* file = fsbridge::fopen(path, fReadOnly ? "rb": "rb+");
data/bitcoin-0.18.1~dfsg/src/validation.cpp:3808:26:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
        file = fsbridge::fopen(path, "wb+");
data/bitcoin-0.18.1~dfsg/src/validation.cpp:4449:26:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
                unsigned char buf[CMessageHeader::MESSAGE_START_SIZE];
data/bitcoin-0.18.1~dfsg/src/validation.cpp:4771:31:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    FILE* filestr = fsbridge::fopen(GetDataDir() / "mempool.dat", "rb");
data/bitcoin-0.18.1~dfsg/src/validation.cpp:4865:35:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
        FILE* filestr = fsbridge::fopen(GetDataDir() / "mempool.dat.new", "wb");
data/bitcoin-0.18.1~dfsg/src/wallet/crypter.cpp:26:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    unsigned char buf[CSHA512::OUTPUT_SIZE];
data/bitcoin-0.18.1~dfsg/src/wallet/crypter.cpp:36:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(key, buf, WALLET_CRYPTO_KEY_SIZE);
data/bitcoin-0.18.1~dfsg/src/wallet/crypter.cpp:37:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(iv, buf + WALLET_CRYPTO_KEY_SIZE, WALLET_CRYPTO_IV_SIZE);
data/bitcoin-0.18.1~dfsg/src/wallet/crypter.cpp:67:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(vchKey.data(), chNewKey.data(), chNewKey.size());
data/bitcoin-0.18.1~dfsg/src/wallet/crypter.cpp:68:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(vchIV.data(), chNewIV.data(), chNewIV.size());
data/bitcoin-0.18.1~dfsg/src/wallet/crypter.cpp:115:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(chIV.data(), &nIV, WALLET_CRYPTO_IV_SIZE);
data/bitcoin-0.18.1~dfsg/src/wallet/crypter.cpp:125:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
    memcpy(chIV.data(), &nIV, WALLET_CRYPTO_IV_SIZE);
data/bitcoin-0.18.1~dfsg/src/wallet/db.cpp:191:34:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    dbenv->set_errfile(fsbridge::fopen(pathErrorFile, "a")); /// debug
data/bitcoin-0.18.1~dfsg/src/wallet/db.cpp:195:22:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    int ret = dbenv->open(strPath.c_str(),
data/bitcoin-0.18.1~dfsg/src/wallet/db.cpp:252:22:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    int ret = dbenv->open(nullptr,
data/bitcoin-0.18.1~dfsg/src/wallet/db.cpp:359:24:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    int ret = pdbCopy->open(nullptr,               // Txn pointer
data/bitcoin-0.18.1~dfsg/src/wallet/db.cpp:554:29:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
            ret = pdb_temp->open(nullptr,                             // Txn pointer
data/bitcoin-0.18.1~dfsg/src/wallet/db.cpp:700:40:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
                    int ret = pdbCopy->open(nullptr,               // Txn pointer
data/bitcoin-0.18.1~dfsg/src/wallet/rpcdump.cpp:590:14:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
        file.open(request.params[0].get_str(), std::ios::in | std::ios::ate);
data/bitcoin-0.18.1~dfsg/src/wallet/rpcdump.cpp:802:10:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
    file.open(filepath);
data/bitcoin-0.18.1~dfsg/src/zmq/zmqpublishnotifier.cpp:39:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
        memcpy(buf, data, size);
data/bitcoin-0.18.1~dfsg/src/zmq/zmqpublishnotifier.cpp:148:14:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    unsigned char msgseq[sizeof(uint32_t)];
data/bitcoin-0.18.1~dfsg/src/zmq/zmqpublishnotifier.cpp:164:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char data[32];
data/bitcoin-0.18.1~dfsg/src/zmq/zmqpublishnotifier.cpp:174:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
    char data[32];
data/bitcoin-0.18.1~dfsg/build_msvc/testconsensus/testconsensus.cpp:47:5:  [1] (buffer) getchar:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    getchar();
data/bitcoin-0.18.1~dfsg/src/base58.cpp:48:16:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    int size = strlen(psz) * 733 /1000 + 1; // log(58) / log(256), rounded up.
data/bitcoin-0.18.1~dfsg/src/bitcoin-cli.cpp:394:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if (!valReply.read(response.body))
data/bitcoin-0.18.1~dfsg/src/bitcoin-tx.cpp:120:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if (!val.read(rawJson)) {
data/bitcoin-0.18.1~dfsg/src/chainparams.cpp:26:173:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    txNew.vin[0].scriptSig = CScript() << 486604799 << CScriptNum(4) << std::vector<unsigned char>((const unsigned char*)pszTimestamp, (const unsigned char*)pszTimestamp + strlen(pszTimestamp));
data/bitcoin-0.18.1~dfsg/src/crypto/sha256.cpp:518:19:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
        if (!std::equal(state, state + 8, result[i])) return false;
data/bitcoin-0.18.1~dfsg/src/crypto/sha256.cpp:524:15:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
    if (!std::equal(out, out + 32, result_d64)) return false;
data/bitcoin-0.18.1~dfsg/src/crypto/sha256.cpp:530:19:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
        if (!std::equal(out, out + 64, result_d64)) return false;
data/bitcoin-0.18.1~dfsg/src/crypto/sha256.cpp:537:19:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
        if (!std::equal(out, out + 128, result_d64)) return false;
data/bitcoin-0.18.1~dfsg/src/crypto/sha256.cpp:544:19:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
        if (!std::equal(out, out + 256, result_d64)) return false;
data/bitcoin-0.18.1~dfsg/src/hash.h:169:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    void read(char* pch, size_t nSize)
data/bitcoin-0.18.1~dfsg/src/hash.h:171:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        source->read(pch, nSize);
data/bitcoin-0.18.1~dfsg/src/hash.h:180:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            read(data, now);
data/bitcoin-0.18.1~dfsg/src/httprpc.cpp:181:25:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        if (!valRequest.read(req->ReadBody()))
data/bitcoin-0.18.1~dfsg/src/init.cpp:924:9:  [1] (access) umask:
  Ensure that umask is given most restrictive possible setting (e.g., 066 or
  077) (CWE-732).
        umask(077);
data/bitcoin-0.18.1~dfsg/src/key.h:178:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        s.read((char *)&code[0], len);
data/bitcoin-0.18.1~dfsg/src/key_io.cpp:82:71:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
        if (data.size() == hash.size() + pubkey_prefix.size() && std::equal(pubkey_prefix.begin(), pubkey_prefix.end(), data.begin())) {
data/bitcoin-0.18.1~dfsg/src/key_io.cpp:89:71:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
        if (data.size() == hash.size() + script_prefix.size() && std::equal(script_prefix.begin(), script_prefix.end(), data.begin())) {
data/bitcoin-0.18.1~dfsg/src/key_io.cpp:140:18:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
            std::equal(privkey_prefix.begin(), privkey_prefix.end(), data.begin())) {
data/bitcoin-0.18.1~dfsg/src/key_io.cpp:170:70:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
        if (data.size() == BIP32_EXTKEY_SIZE + prefix.size() && std::equal(prefix.begin(), prefix.end(), data.begin())) {
data/bitcoin-0.18.1~dfsg/src/key_io.cpp:193:70:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
        if (data.size() == BIP32_EXTKEY_SIZE + prefix.size() && std::equal(prefix.begin(), prefix.end(), data.begin())) {
data/bitcoin-0.18.1~dfsg/src/protocol.cpp:91:5:  [1] (buffer) strncpy:
  Easily used incorrectly; doesn't always \0-terminate or check for invalid
  pointers [MS-banned] (CWE-120).
    strncpy(pchCommand, pszCommand, COMMAND_SIZE);
data/bitcoin-0.18.1~dfsg/src/psbt.h:444:19:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
        if (!std::equal(magic, magic + 5, PSBT_MAGIC_BYTES)) {
data/bitcoin-0.18.1~dfsg/src/pubkey.h:144:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            s.read((char*)vch, len);
data/bitcoin-0.18.1~dfsg/src/pubkey.h:149:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
                s.read(&dummy, 1);
data/bitcoin-0.18.1~dfsg/src/pubkey.h:247:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        s.read((char *)&code[0], len);
data/bitcoin-0.18.1~dfsg/src/qt/test/apptests.cpp:49:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    value.read(output.right(output.size() - output.lastIndexOf(QChar::ObjectReplacementCharacter) - 1).toStdString());
data/bitcoin-0.18.1~dfsg/src/random.cpp:290:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        ssize_t n = read(f, ent32 + have, NUM_OS_RANDOM_BYTES - have);
data/bitcoin-0.18.1~dfsg/src/rest.cpp:97:13:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
        if (strlen(rf_names[i].name) > 0) {
data/bitcoin-0.18.1~dfsg/src/rpc/client.cpp:208:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if (!jVal.read(std::string("[")+strVal+std::string("]")) ||
data/bitcoin-0.18.1~dfsg/src/script/bitcoinconsensus.cpp:26:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    void read(char* pch, size_t nSize)
data/bitcoin-0.18.1~dfsg/src/script/descriptor.cpp:602:49:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
    if ((size_t)sp.size() >= str.size() && std::equal(str.begin(), str.end(), sp.begin())) {
data/bitcoin-0.18.1~dfsg/src/script/descriptor.cpp:612:106:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
    if ((size_t)sp.size() >= str.size() + 2 && sp[str.size()] == '(' && sp[sp.size() - 1] == ')' && std::equal(str.begin(), str.end(), sp.begin())) {
data/bitcoin-0.18.1~dfsg/src/script/descriptor.cpp:893:19:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
        if (!std::equal(checksum.begin(), checksum.end(), check_split[1].begin())) return nullptr; // Checksum mismatch
data/bitcoin-0.18.1~dfsg/src/script/interpreter.cpp:264:66:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
        while (static_cast<size_t>(end - pc) >= b.size() && std::equal(b.begin(), b.end(), pc))
data/bitcoin-0.18.1~dfsg/src/script/sign.h:30:21:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
        return std::equal(std::begin(a.fingerprint), std::end(a.fingerprint), std::begin(b.fingerprint)) && a.path == b.path;
data/bitcoin-0.18.1~dfsg/src/script/standard.h:101:21:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
        return std::equal(w1.program, w1.program + w1.length, w2.program);
data/bitcoin-0.18.1~dfsg/src/serialize.h:100:7:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    s.read((char*)&obj, 1);
data/bitcoin-0.18.1~dfsg/src/serialize.h:106:7:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    s.read((char*)&obj, 2);
data/bitcoin-0.18.1~dfsg/src/serialize.h:112:7:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    s.read((char*)&obj, 2);
data/bitcoin-0.18.1~dfsg/src/serialize.h:118:7:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    s.read((char*)&obj, 4);
data/bitcoin-0.18.1~dfsg/src/serialize.h:124:7:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    s.read((char*)&obj, 8);
data/bitcoin-0.18.1~dfsg/src/serialize.h:223:87:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
template<typename Stream, int N> inline void Unserialize(Stream& s, char (&a)[N]) { s.read(a, N); }
data/bitcoin-0.18.1~dfsg/src/serialize.h:224:96:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
template<typename Stream, int N> inline void Unserialize(Stream& s, unsigned char (&a)[N]) { s.read(CharCast(a), N); }
data/bitcoin-0.18.1~dfsg/src/serialize.h:225:93:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
template<typename Stream> inline void Unserialize(Stream& s, Span<unsigned char>& span) { s.read(CharCast(span.data()), span.size()); }
data/bitcoin-0.18.1~dfsg/src/serialize.h:503:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
            s.read((char*)string.data(), size);
data/bitcoin-0.18.1~dfsg/src/serialize.h:621:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        is.read((char*)str.data(), nSize * sizeof(C));
data/bitcoin-0.18.1~dfsg/src/serialize.h:663:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        is.read((char*)&v[i], blk * sizeof(T));
data/bitcoin-0.18.1~dfsg/src/serialize.h:731:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        is.read((char*)&v[i], blk * sizeof(T));
data/bitcoin-0.18.1~dfsg/src/span.h:38:115:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
    friend constexpr bool operator==(const Span& a, const Span& b) noexcept { return a.size() == b.size() && std::equal(a.begin(), a.end(), b.begin()); }
data/bitcoin-0.18.1~dfsg/src/streams.h:57:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    void read(char* pch, size_t nSize)
data/bitcoin-0.18.1~dfsg/src/streams.h:59:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        stream->read(pch, nSize);
data/bitcoin-0.18.1~dfsg/src/streams.h:182:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    void read(char* dst, size_t n)
data/bitcoin-0.18.1~dfsg/src/streams.h:399:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    void read(char* pch, size_t nSize)
data/bitcoin-0.18.1~dfsg/src/streams.h:656:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    void read(char* pch, size_t nSize)
data/bitcoin-0.18.1~dfsg/src/streams.h:777:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    void read(char *pch, size_t nSize) {
data/bitcoin-0.18.1~dfsg/src/sync.cpp:84:72:  [1] (buffer) mismatch:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
static void potential_deadlock_detected(const std::pair<void*, void*>& mismatch, const LockStack& s1, const LockStack& s2)
data/bitcoin-0.18.1~dfsg/src/sync.cpp:89:24:  [1] (buffer) mismatch:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
        if (i.first == mismatch.first) {
data/bitcoin-0.18.1~dfsg/src/sync.cpp:92:24:  [1] (buffer) mismatch:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
        if (i.first == mismatch.second) {
data/bitcoin-0.18.1~dfsg/src/sync.cpp:99:24:  [1] (buffer) mismatch:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
        if (i.first == mismatch.first) {
data/bitcoin-0.18.1~dfsg/src/sync.cpp:102:24:  [1] (buffer) mismatch:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
        if (i.first == mismatch.second) {
data/bitcoin-0.18.1~dfsg/src/test/base58_tests.cpp:57:70:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
        BOOST_CHECK_MESSAGE(result.size() == expected.size() && std::equal(result.begin(), result.end(), expected.begin()), strTest);
data/bitcoin-0.18.1~dfsg/src/test/blockfilter_tests.cpp:122:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if (!json.read(json_data) || !json.isArray()) {
data/bitcoin-0.18.1~dfsg/src/test/fuzz/fuzz.cpp:17:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    while ((length = read(STDIN_FILENO, buffer, 1024)) > 0) {
data/bitcoin-0.18.1~dfsg/src/test/key_io_tests.cpp:49:78:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
            BOOST_CHECK_MESSAGE(privkey.size() == exp_payload.size() && std::equal(privkey.begin(), privkey.end(), exp_payload.begin()), "key mismatch:" + strTest);
data/bitcoin-0.18.1~dfsg/src/test/script_tests.cpp:44:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    if (!v.read(jsondata) || !v.isArray())
data/bitcoin-0.18.1~dfsg/src/test/util_tests.cpp:1092:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        int rv = read(fd, &ch, 1); // Wait for command
data/bitcoin-0.18.1~dfsg/src/test/util_tests.cpp:1161:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    BOOST_CHECK_EQUAL(read(fd[1], &ch, 1), 1);
data/bitcoin-0.18.1~dfsg/src/test/util_tests.cpp:1171:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    BOOST_CHECK_EQUAL(read(fd[1], &ch, 1), 1);
data/bitcoin-0.18.1~dfsg/src/test/util_tests.cpp:1179:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    BOOST_CHECK_EQUAL(read(fd[1], &ch, 1), 1);
data/bitcoin-0.18.1~dfsg/src/uint256.h:102:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        s.read((char*)data, sizeof(data));
data/bitcoin-0.18.1~dfsg/src/util/strencodings.cpp:165:17:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    val.reserve(strlen(p));
data/bitcoin-0.18.1~dfsg/src/util/strencodings.cpp:234:17:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    val.reserve(strlen(p));
data/bitcoin-0.18.1~dfsg/src/util/strencodings.cpp:272:23:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    if (str.size() != strlen(str.c_str())) // No embedded NUL characters allowed
data/bitcoin-0.18.1~dfsg/src/util/system.cpp:693:31:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    if (pszHome == nullptr || strlen(pszHome) == 0)
data/bitcoin-0.18.1~dfsg/src/validation.cpp:1135:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
        filein.read((char*)block.data(), blk_size);
data/bitcoin-0.18.1~dfsg/src/validation.cpp:3309:19:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
            !std::equal(expect.begin(), expect.end(), block.vtx[0]->vin[0].scriptSig.begin())) {
data/bitcoin-0.18.1~dfsg/src/wallet/db.cpp:726:87:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
                                strncmp(ssKey.data(), pszSkip, std::min(ssKey.size(), strlen(pszSkip))) == 0)
data/bitcoin-0.18.1~dfsg/src/wallet/test/coinselector_tests.cpp:90:59:  [1] (buffer) mismatch:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
    std::pair<CoinSet::iterator, CoinSet::iterator> ret = mismatch(a.begin(), a.end(), b.begin());
data/bitcoin-0.18.1~dfsg/src/wallet/walletutil.cpp:46:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
    file.read((char*) &data, sizeof(data)); // Read 4 bytes of file to compare against magic
data/bitcoin-0.18.1~dfsg/src/zmq/zmqpublishnotifier.cpp:150:51:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
    int rc = zmq_send_multipart(psocket, command, strlen(command), data, size, msgseq, (size_t)sizeof(uint32_t), nullptr);

ANALYSIS SUMMARY:

Hits = 491
Lines analyzed = 143085 in approximately 4.04 seconds (35446 lines/second)
Physical Source Lines of Code (SLOC) = 104967
Hits@level = [0]  21 [1]  81 [2] 366 [3]   3 [4]  40 [5]   1
Hits@level+ = [0+] 512 [1+] 491 [2+] 410 [3+]  44 [4+]  41 [5+]   1
Hits/KSLOC@level+ = [0+] 4.87772 [1+] 4.67766 [2+] 3.90599 [3+] 0.419179 [4+] 0.390599 [5+] 0.0095268
Dot directories skipped = 4 (--followdotdir overrides)
Minimum risk level = 1
Not every hit is necessarily a security vulnerability.
There may be other security vulnerabilities; review your code!
See 'Secure Programming HOWTO'
(https://dwheeler.com/secure-programs) for more information.