lbrycrd/src
MarcoFalke aba2e666d7
Merge #13712: wallet: Fix non-determinism in ParseHDKeypath(...). Avoid using an uninitialized variable in path calculation.
27ee53c1ae wallet: Add error handling. Check return value of ParseUInt32(...) in ParseHDKeypath(...). (practicalswift)
7223263899 wallet: Add tests for ParseHDKeypath(...) (practicalswift)

Pull request description:

  Add error handling. Check return value of `ParseUInt32(...)` in `ParseHDKeypath(...)`.

  `ParseUInt32(...)` returns `false` if the entire string could not be parsed or when an overflow or underflow occurred. In such case the uninitialized variable `number` would be used in the calculation of `path` (prior to this commit).

  An example key path triggering this is `m/0/4294967296`:

  ```
    ParseHDKeypath("m/0/4294967296", keypath);
  ```

  `4294967296` is `1` + `0xFFFFFFFF` (`uint32_t` max: `4294967295`).

  Introduced in a4b06fb42e which was merged into `master` 14 hours ago as part of #13557 ("BIP 174 PSBT Serializations and RPCs").

Tree-SHA512: e5ff423f67c18d82c1231bde6343587a453e793c32004d93dc9b61be6d9372b57a6b2c9978d9eb1000d6cc82fd180f2486013f928dca737fb92daad22c16e467
2018-07-19 17:39:59 -04:00
..
bench Merge #13682: bench: Remove unused variable 2018-07-17 08:55:46 -04:00
compat GCC-7 and glibc-2.27 compat code 2018-06-02 19:18:41 +00:00
config
consensus [MOVEONLY] Move unused Merkle branch code to tests 2018-05-29 14:20:12 -07:00
crypto Merge #13386: SHA256 implementations based on Intel SHA Extensions 2018-07-09 21:17:18 +02:00
index Break circular dependency: init -> * -> init by extracting shutdown.h 2018-06-25 00:08:49 -04:00
interfaces Extract MakeUnique into utilmemory.h 2018-07-17 13:56:21 -04:00
leveldb Bump leveldb subtree 2018-02-16 08:59:28 -05:00
obj
obj-test
policy Merge #13096: [Policy] Fix MAX_STANDARD_TX_WEIGHT check 2018-07-05 18:40:58 +02:00
primitives Removed unused == operator from CMutableTransaction. 2018-06-10 13:38:38 -07:00
qt Remove useless mapRequest tracking that just effects Qt display. 2018-07-09 20:06:39 -04:00
rpc Merge #13557: BIP 174 PSBT Serializations and RPCs 2018-07-18 20:25:44 +02:00
script Merge #13557: BIP 174 PSBT Serializations and RPCs 2018-07-18 20:25:44 +02:00
secp256k1 Bump secp256k1 subtree 2017-09-29 16:02:39 +02:00
support Make it clear which functions that are intended to be translation unit local 2018-05-03 21:47:40 +02:00
test Merge #13655: bitcoinconsensus: invalid flags error should be set to bitcoinconsensus_err 2018-07-18 17:19:15 +02:00
univalue univalue: Bump subtree 2018-02-10 09:55:54 -05:00
wallet Merge #13712: wallet: Fix non-determinism in ParseHDKeypath(...). Avoid using an uninitialized variable in path calculation. 2018-07-19 17:39:59 -04:00
zmq RPC: Add new getzmqnotifications method. 2018-07-05 08:02:22 +02:00
.clang-format Fix inconsistent namespace formatting guidelines 2018-04-13 15:37:20 -04:00
addrdb.cpp Add logging and error handling for file syncing 2018-04-23 14:25:28 +02:00
addrdb.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
addrman.cpp net: Correct addrman logging 2018-03-06 21:52:53 +01:00
addrman.h Merge #12731: Support serialization as another type without casting 2018-04-10 20:54:33 +02:00
amount.h Consensus: Policy: MOVEONLY: Move CFeeRate out of the consensus module 2017-05-03 18:00:13 +02:00
arith_uint256.cpp [arith_uint256] Do not destroy *this content if passed-in operator may reference it 2018-03-01 11:49:35 +09:00
arith_uint256.h Drop uint 256 not operator 2018-06-05 02:16:24 -07:00
base58.cpp use base58 map instead of strchr() 2018-03-21 11:57:57 +08:00
base58.h Split key_io (address/key encodings) off from base58 2018-02-19 18:55:21 -08:00
bech32.cpp Tighten up bech32::Decode(); add tests. 2018-04-12 17:52:33 -07:00
bech32.h Fix missing or inconsistent include guards 2018-03-22 16:23:04 +01:00
bitcoin-cli-res.rc
bitcoin-cli.cpp cli: Ignore libevent warnings 2018-06-04 14:55:00 -04:00
bitcoin-tx-res.rc
bitcoin-tx.cpp bitcoin-tx: Stricter check for valid integers 2018-07-07 14:25:09 +02:00
bitcoind-res.rc
bitcoind.cpp Break circular dependency: init -> * -> init by extracting shutdown.h 2018-06-25 00:08:49 -04:00
blockencodings.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
blockencodings.h Fix missing or inconsistent include guards 2018-03-22 16:23:04 +01:00
bloom.cpp replace modulus with FastMod 2018-05-06 13:55:33 +02:00
bloom.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
chain.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
chain.h Break circular dependency: chain -> pow -> chain 2018-05-14 18:36:39 -07:00
chainparams.cpp Trivial: s/SetBestChain/ChainStateFlushed in comments after #13106 2018-05-02 10:02:48 -04:00
chainparams.h [doc] Add comments for chainparams.h, validation.cpp 2018-04-17 17:15:20 -04:00
chainparamsbase.cpp Extract MakeUnique into utilmemory.h 2018-07-17 13:56:21 -04:00
chainparamsbase.h Make gArgs aware of the arguments 2018-05-09 12:21:05 -04:00
chainparamsseeds.h Fix a-vs-an typos 2018-02-11 10:48:15 +01:00
checkpoints.cpp Add LookupBlockIndex function 2018-03-06 19:52:19 +00:00
checkpoints.h Add LookupBlockIndex function 2018-03-06 19:52:19 +00:00
checkqueue.h [Refactor] Remove unused fQuit var from checkqueue.h 2018-01-07 20:44:21 +00:00
clientversion.cpp Merge #11966: clientversion: Use full commit hash for commit-based version descriptions 2018-02-13 10:58:41 +01:00
clientversion.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
coins.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
coins.h Support deserializing into temporaries 2018-03-13 17:04:31 -07:00
compat.h net: Minor accumulated cleanups 2018-04-16 13:24:14 -07:00
compressor.cpp Move compressor utility functions out of class 2018-03-21 14:17:18 -07:00
compressor.h Support serializing Span<unsigned char> and use that instead of FLATDATA 2018-04-05 08:20:37 -07:00
core_io.h Create wallet RPCs for PSBT 2018-07-16 16:08:24 -07:00
core_memusage.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
core_read.cpp Create wallet RPCs for PSBT 2018-07-16 16:08:24 -07:00
core_write.cpp Create utility RPCs for PSBT 2018-07-16 16:08:24 -07:00
cuckoocache.h Use explicit casting in cuckoocache's compute_hashes(...) to clarify integer conversion 2018-03-27 00:37:20 +02:00
dbwrapper.cpp [logging] Comment all continuing logs. 2018-04-07 12:29:48 -04:00
dbwrapper.h [db] Create separate database for txindex. 2018-04-25 11:25:05 -07:00
fs.cpp scripted-diff: Replace #include "" with #include <> (ryanofsky) 2017-11-16 08:23:01 +13:00
fs.h [Trivial] Add BITCOIN_FS_H endif footer in fs.h 2017-05-19 02:01:28 -07:00
hash.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
hash.h Support deserializing into temporaries 2018-03-13 17:04:31 -07:00
httprpc.cpp scripted-diff: Fix references to share/rpcuser (now share/rpcauth) 2018-07-15 17:56:02 -07:00
httprpc.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
httpserver.cpp util: Encapsulate logCategories within BCLog::Logger. 2018-04-27 16:10:02 -07:00
httpserver.h util: Encapsulate logCategories within BCLog::Logger. 2018-04-27 16:10:02 -07:00
indirectmap.h
init.cpp scripted-diff: Fix references to share/rpcuser (now share/rpcauth) 2018-07-15 17:56:02 -07:00
init.h Break circular dependency: init -> * -> init by extracting shutdown.h 2018-06-25 00:08:49 -04:00
key.cpp scripted-diff: Rename master key to seed 2018-05-19 11:16:00 -04:00
key.h scripted-diff: Rename master key to seed 2018-05-19 11:16:00 -04:00
key_io.cpp Simplify Base32 and Base64 conversions 2018-03-07 07:04:07 -08:00
key_io.h Fix missing or inconsistent include guards 2018-03-22 16:23:04 +01:00
keystore.cpp Separate HaveKey function that checks whether a key is in a keystore 2018-05-05 00:43:04 -04:00
keystore.h Refactors keystore.h type aliases. 2018-07-12 00:48:49 +02:00
limitedmap.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
logging.cpp Merge #13149: Handle unsuccessful fseek(...):s 2018-05-07 13:39:19 +02:00
logging.h logging: remove unused return value from LogPrintStr 2018-05-02 11:25:20 +02:00
Makefile.am Extract MakeUnique into utilmemory.h 2018-07-17 13:56:21 -04:00
Makefile.bench.include Merge #13586: refactor: add benchmarks to bech32::Encode/Decode 2018-07-11 11:44:10 +02:00
Makefile.leveldb.include build: verify that the assembler can handle crc32 functions 2017-07-13 12:49:05 -04:00
Makefile.qt.include crypto: cleanup sha256 build 2018-06-06 17:36:53 -04:00
Makefile.qttest.include crypto: cleanup sha256 build 2018-06-06 17:36:53 -04:00
Makefile.test.include Merge #13557: BIP 174 PSBT Serializations and RPCs 2018-07-18 20:25:44 +02:00
memusage.h Bugfix: Include <memory> for std::unique_ptr 2018-04-02 18:31:52 +00:00
merkleblock.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
merkleblock.h have verifytxoutproof check the number of txns in proof structure 2018-06-14 09:54:41 -04:00
miner.cpp cleanup: avoid hidden copies in range-for loops 2018-06-15 13:40:00 -04:00
miner.h Add Clang thread safety analysis annotations 2018-05-05 16:51:22 +02:00
net.cpp Merge #13672: Modified in_addr6 cast in CConman class to work with msvc 2018-07-18 15:03:27 +02:00
net.h Initialize m_next_send_inv_to_incoming 2018-07-16 14:08:38 -07:00
net_processing.cpp Merge #13298: Net: Bucketing INV delays (1 bucket) for incoming connections to hide tx time 2018-07-16 10:37:02 -07:00
net_processing.h Merge #13417: [net] Tighten scope in net_processing 2018-07-13 20:10:55 -07:00
netaddress.cpp scripted-diff: Replace NET_TOR with NET_ONION 2018-07-02 16:41:13 +02:00
netaddress.h scripted-diff: Replace NET_TOR with NET_ONION 2018-07-02 16:41:13 +02:00
netbase.cpp scripted-diff: Replace NET_TOR with NET_ONION 2018-07-02 16:41:13 +02:00
netbase.h Increase signal-to-noise ratio in debug.log by adjusting log level when logging failed non-manual connect():s 2018-03-11 10:49:04 +01:00
netmessagemaker.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
noui.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
noui.h
outputtype.cpp Move AddAndGetDestinationForScript from wallet to outputype module 2018-07-10 00:06:19 +10:00
outputtype.h Move AddAndGetDestinationForScript from wallet to outputype module 2018-07-10 00:06:19 +10:00
pow.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
pow.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
prevector.h Use memset() to optimize prevector::resize() 2018-02-27 13:27:51 -08:00
protocol.cpp Add setter for g_initial_block_download_completed 2018-02-17 21:28:50 +11:00
protocol.h Merge #12731: Support serialization as another type without casting 2018-04-10 20:54:33 +02:00
pubkey.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
pubkey.h Implement PSBT Structures and un/serialization methods per BIP 174 2018-07-13 14:27:31 -07:00
random.cpp Fix FreeBSD build by including utilstrencodings.h 2018-05-24 09:51:47 +02:00
random.h Merge #12742: Make FastRandomContext support standard C++11 RNG interface 2018-03-22 12:21:46 -04:00
rest.cpp refactor: add a function for determining if a block is pruned or not 2018-05-30 12:23:44 +09:00
reverse_iterator.h Declare single-argument (non-converting) constructors "explicit" 2017-08-16 16:33:25 +02:00
reverselock.h Increment MIT Licence copyright header year on files modified in 2016 2016-12-31 11:01:21 -07:00
scheduler.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
scheduler.h scheduler: Add Clang thread safety annotations for variables guarded by m_cs_callbacks_pending 2018-04-30 11:17:06 +02:00
serialize.h Detect if char equals int8_t 2018-07-01 15:37:28 +00:00
shutdown.cpp Break circular dependency: init -> * -> init by extracting shutdown.h 2018-06-25 00:08:49 -04:00
shutdown.h Break circular dependency: init -> * -> init by extracting shutdown.h 2018-06-25 00:08:49 -04:00
span.h Add Slice: a (pointer, size) array view that acts like a container 2018-04-05 08:20:37 -07:00
streams.h Support deserializing into temporaries 2018-03-13 17:04:31 -07:00
sync.cpp qa: Initialize lockstack to prevent null pointer deref 2018-05-22 06:31:26 -04:00
sync.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
threadinterrupt.cpp [index] Allow TxIndex sync thread to be interrupted. 2018-04-25 11:25:09 -07:00
threadinterrupt.h [index] Allow TxIndex sync thread to be interrupted. 2018-04-25 11:25:09 -07:00
threadsafety.h
timedata.cpp Merge #13116: Add Clang thread safety annotations for variables guarded by cs_{rpcWarmup,nTimeOffset,warnings} 2018-05-14 08:46:54 -04:00
timedata.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
tinyformat.h Fix typos 2018-03-21 08:34:44 +02:00
torcontrol.cpp scripted-diff: Replace NET_TOR with NET_ONION 2018-07-02 16:41:13 +02:00
torcontrol.h boost: drop boost threads from torcontrol 2018-02-08 14:35:29 -05:00
txdb.cpp Break circular dependency: init -> * -> init by extracting shutdown.h 2018-06-25 00:08:49 -04:00
txdb.h index: Move index DBs into index/ directory. 2018-06-04 19:22:30 -07:00
txmempool.cpp cleanup: avoid hidden copies in range-for loops 2018-06-15 13:40:00 -04:00
txmempool.h doc: Clarify that mempool txiter is const_iterator 2018-06-24 15:49:09 -04:00
ui_interface.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
ui_interface.h wallet: Use shared pointer to retain wallet instance 2018-05-22 16:56:20 +01:00
uint256.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
uint256.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
undo.h Merge #12716: Fix typos and cleanup in various files 2018-03-21 11:17:43 -04:00
util.cpp Add unavailable options to hidden options category 2018-06-12 14:33:35 -07:00
util.h Extract MakeUnique into utilmemory.h 2018-07-17 13:56:21 -04:00
utilmemory.h Extract MakeUnique into utilmemory.h 2018-07-17 13:56:21 -04:00
utilmoneystr.cpp Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
utilmoneystr.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
utilstrencodings.cpp Simplify Base32 and Base64 conversions 2018-03-07 07:04:07 -08:00
utilstrencodings.h Generalize ConvertBits 2018-03-06 20:28:08 -08:00
utiltime.cpp Fix for utiltime to compile with msvc. 2018-04-20 08:41:15 +10:00
utiltime.h Avoid std::locale/imbue in DateTimeStrFormat 2018-04-13 01:36:53 -07:00
validation.cpp Merge #13680: [doc] Remove outdated comment about miner ignoring CPFP 2018-07-17 17:20:37 +02:00
validation.h Merge #13298: Net: Bucketing INV delays (1 bucket) for incoming connections to hide tx time 2018-07-16 10:37:02 -07:00
validationinterface.cpp Remove useless mapRequest tracking that just effects Qt display. 2018-07-09 20:06:39 -04:00
validationinterface.h Remove useless mapRequest tracking that just effects Qt display. 2018-07-09 20:06:39 -04:00
version.h Increment MIT Licence copyright header year on files modified in 2017 2018-01-03 02:26:56 +09:00
versionbits.cpp scripted-diff: Convert 11 enums into scoped enums (C++11) 2018-03-09 15:03:40 +01:00
versionbits.h Merge #12757: Clarify include guard naming convention 2018-04-01 18:30:21 -04:00
walletinitinterface.h Make gArgs aware of the arguments 2018-05-09 12:21:05 -04:00
warnings.cpp Add Clang thread safety annotations for variables guarded by cs_warnings 2018-04-29 22:29:53 +02:00
warnings.h Remove "rpc" category from GetWarnings 2018-04-27 09:27:52 +02:00