diff options
| author | MarcoFalke <[email protected]> | 2018-07-19 17:39:48 -0400 |
|---|---|---|
| committer | MarcoFalke <[email protected]> | 2018-07-19 17:39:59 -0400 |
| commit | aba2e666d7fd42f40c0bf4196dbff66a48eaf97b (patch) | |
| tree | 7ba47fc1579648626ff767d8893a7ad31979dc0e /src/httpserver.h | |
| parent | Merge #13074: [trivial] Correct help text for `importaddress` RPC (diff) | |
| parent | wallet: Add error handling. Check return value of ParseUInt32(...) in ParseHD... (diff) | |
| download | discoin-aba2e666d7fd42f40c0bf4196dbff66a48eaf97b.tar.xz discoin-aba2e666d7fd42f40c0bf4196dbff66a48eaf97b.zip | |
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 a4b06fb42eb0ad94e562ca839391b57e69285136 which was merged into `master` 14 hours ago as part of #13557 ("BIP 174 PSBT Serializations and RPCs").
Tree-SHA512: e5ff423f67c18d82c1231bde6343587a453e793c32004d93dc9b61be6d9372b57a6b2c9978d9eb1000d6cc82fd180f2486013f928dca737fb92daad22c16e467
Diffstat (limited to 'src/httpserver.h')
0 files changed, 0 insertions, 0 deletions