lbrycrd/src/wallet
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
..
test wallet: Add tests for ParseHDKeypath(...) 2018-07-19 21:13:03 +02:00
coincontrol.h Make coincontrol use IsSolvable to determine solvability 2018-05-03 11:01:57 -07:00
coinselection.cpp Add missing newlines to LogPrint debug logging 2018-05-02 15:14:04 +02:00
coinselection.h Fix missing or inconsistent include guards 2018-03-22 16:23:04 +01:00
crypter.cpp Merge #11403: SegWit wallet support 2018-01-10 20:55:41 -10:00
crypter.h Refactors keystore.h type aliases. 2018-07-12 00:48:49 +02:00
db.cpp bugfix: Remove dangling wallet env instance 2018-06-18 16:35:39 +01:00
db.h scripted-diff: Rename wallet database classes 2018-04-07 11:48:27 -05:00
feebumper.cpp Merge #13011: Cache witness hash in CTransaction 2018-05-23 19:26:18 +02:00
feebumper.h feebumper: Use PreconditionChecks to determine bump eligibility 2018-01-29 18:31:33 -05:00
fees.cpp wallet: Make fee settings non-static members 2018-04-23 10:49:21 -04:00
fees.h wallet: Make fee settings non-static members 2018-04-23 10:49:21 -04:00
init.cpp Add outputtype module 2018-07-09 22:21:15 +10:00
rpcdump.cpp Merge #13074: [trivial] Correct help text for importaddress RPC 2018-07-19 17:34:12 -04:00
rpcwallet.cpp wallet: Add error handling. Check return value of ParseUInt32(...) in ParseHDKeypath(...). 2018-07-19 21:13:03 +02:00
rpcwallet.h Create wallet RPCs for PSBT 2018-07-16 16:08:24 -07:00
wallet.cpp Merge #13500: [wallet] Decouple wallet version from client version 2018-07-18 20:58:54 +02:00
wallet.h Merge #13072: Update createmultisig RPC to support segwit 2018-07-13 20:31:13 -07:00
walletdb.cpp Decouple wallet version from client version 2018-06-18 15:21:32 -07:00
walletdb.h [refactor] manually change remaining instances of master key to seed. 2018-05-19 11:21:15 -04:00
walletutil.cpp Don't allow relative -walletdir paths 2018-01-18 15:09:27 -05:00
walletutil.h Fix missing or inconsistent include guards 2018-03-22 16:23:04 +01:00