0
0
Fork 0
mirror of https://github.com/bitcoin/bitcoin.git synced 2025-02-10 10:52:31 -05:00
bitcoin-bitcoin-core/src/wallet
John Moffett 00a0861181 Pass all characters to SecureString including nulls
`SecureString` is a `std::string` specialization with
a secure allocator. However, it's treated like a C-
string (no explicit length and null-terminated). This
can cause unexpected behavior. For instance, if a user
enters a passphrase with an embedded null character
(which is possible through Qt and the JSON-RPC), it will
ignore any characters after the null, giving the user
a false sense of security.

Instead of assigning `SecureString` via `std::string::c_str()`,
assign it via a `std::string_view` of the original. This
explicitly captures the size and doesn't make any extraneous
copies in memory.
2023-02-21 14:40:59 -05:00
..
rpc Pass all characters to SecureString including nulls 2023-02-21 14:40:59 -05:00
test Merge bitcoin/bitcoin#26940: test: create random and coins utils, add amount helper, dedupe add_coin 2023-02-17 17:28:14 -05:00
bdb.cpp clang-tidy: Fix modernize-use-default-member-init in headers 2023-01-31 11:50:10 +00:00
bdb.h clang-tidy: Fix modernize-use-default-member-init in headers 2023-01-31 11:50:10 +00:00
coincontrol.cpp Add src/wallet/* code to wallet:: namespace 2022-01-06 22:14:16 -05:00
coincontrol.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
coinselection.cpp Merge bitcoin/bitcoin#26661: wallet: Coin Selection, return accurate error messages 2023-01-03 18:53:36 -05:00
coinselection.h Merge bitcoin/bitcoin#26661: wallet: Coin Selection, return accurate error messages 2023-01-03 18:53:36 -05:00
context.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
context.h Add src/wallet/* code to wallet:: namespace 2022-01-06 22:14:16 -05:00
crypter.cpp Add src/wallet/* code to wallet:: namespace 2022-01-06 22:14:16 -05:00
crypter.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
db.cpp Replace use of ArgsManager with DatabaseOptions 2022-03-16 08:26:28 +01:00
db.h clang-tidy: Fix modernize-use-default-member-init in headers 2023-01-31 11:50:10 +00:00
dump.cpp refactor: remove <util/system.h> include from wallet.h 2023-02-15 15:49:45 -03:00
dump.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
external_signer_scriptpubkeyman.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
external_signer_scriptpubkeyman.h wallet: set keypool_size instead of access global args manager 2023-02-15 15:49:44 -03:00
feebumper.cpp wallet: add outputs arguments to bumpfee and psbtbumpfee 2023-01-17 13:28:53 +02:00
feebumper.h wallet: add outputs arguments to bumpfee and psbtbumpfee 2023-01-17 13:28:53 +02:00
fees.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
fees.h Add src/wallet/* code to wallet:: namespace 2022-01-06 22:14:16 -05:00
init.cpp Remove -sysperms option 2023-02-05 08:09:16 +00:00
interfaces.cpp wallet: add outputs arguments to bumpfee and psbtbumpfee 2023-01-17 13:28:53 +02:00
ismine.h Add src/wallet/* code to wallet:: namespace 2022-01-06 22:14:16 -05:00
load.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
load.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
receive.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
receive.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
salvage.cpp refactor: wallet, remove global 'ArgsManager' access 2023-02-15 15:49:45 -03:00
salvage.h scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
scriptpubkeyman.cpp wallet: set keypool_size instead of access global args manager 2023-02-15 15:49:44 -03:00
scriptpubkeyman.h wallet: set keypool_size instead of access global args manager 2023-02-15 15:49:44 -03:00
spend.cpp Merge bitcoin/bitcoin#27053: wallet: reuse change dest when re-creating TX with avoidpartialspends 2023-02-20 17:20:37 +00:00
spend.h Merge bitcoin/bitcoin#25659: wallet: simplify ListCoins implementation 2023-01-18 14:26:39 -05:00
sqlite.cpp Use DataStream where possible 2023-01-26 10:44:05 +01:00
sqlite.h Use DataStream where possible 2023-01-26 10:44:05 +01:00
transaction.cpp Add src/wallet/* code to wallet:: namespace 2022-01-06 22:14:16 -05:00
transaction.h Merge bitcoin/bitcoin#26499: wallet: Abandon descendants of orphaned coinbases 2023-01-30 10:09:41 +00:00
wallet.cpp Merge bitcoin/bitcoin#26347: wallet: ensure the wallet is unlocked when needed for rescanning 2023-02-21 14:02:49 -05:00
wallet.h Merge bitcoin/bitcoin#26347: wallet: ensure the wallet is unlocked when needed for rescanning 2023-02-21 14:02:49 -05:00
walletdb.cpp Use DataStream where possible 2023-01-26 10:44:05 +01:00
walletdb.h Use DataStream where possible 2023-01-26 10:44:05 +01:00
wallettool.cpp refactor: wallet, remove global 'ArgsManager' access 2023-02-15 15:49:45 -03:00
wallettool.h Add src/wallet/* code to wallet:: namespace 2022-01-06 22:14:16 -05:00
walletutil.cpp scripted-diff: Bump copyright headers 2022-12-24 23:49:50 +00:00
walletutil.h Implement LegacyScriptPubKeyMan::MigrateToDescriptor 2022-08-25 16:25:53 -04:00