elements/src/util
fanquake 243a9c3925
Merge bitcoin/bitcoin#24297: Fix unintended unsigned integer overflow in strencodings
fac9fe5d05 Fix unintended unsigned integer overflow in strencodings (MarcoFalke)

Pull request description:

  This fixes two issues for strings that start with a colon and only have one colon:

  * `fMultiColon` is incorrectly set to `true`
  * There is an unsigned integer overflow `colon - 1` (`0 - 1`)

  Neither issue matters, as the result is discarded. Though, it makes sense to still fix the issue for clarity and to avoid sanitizer issues in the function.

ACKs for top commit:
  laanwj:
    Code review ACK fac9fe5d05
  shaavan:
    Code Review ACK fac9fe5d05

Tree-SHA512: e71c21a0b617abf241e561ce6b90b963e2d5e2f77bd9547ce47209a1a94b454384391f86ef5d35fedd4f4df19add3896bb3d61fed396ebba8e864e3eeb75ed59
2022-02-10 07:17:32 +00:00
..
asmap.cpp refactor: replace boost::filesystem with std::filesystem 2022-02-03 18:35:52 +08:00
asmap.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
bip32.cpp scripted-diff: Bump copyright headers 2020-04-16 13:33:09 -04:00
bip32.h scripted-diff: Use [[nodiscard]] (C++17) instead of NODISCARD 2020-11-26 09:05:59 +00:00
bytevectorhash.cpp
bytevectorhash.h
check.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
epochguard.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
error.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
error.h rpc: send: support external signer 2021-02-23 14:34:32 +01:00
fastrange.h Add FastRange32 function and use it throughout the codebase 2022-01-07 13:37:47 -05:00
fees.cpp scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
fees.h scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
getuniquepath.cpp doc: add missing copyright header to getuniquepath.cpp 2021-09-08 16:28:21 +08:00
getuniquepath.h Introduce GetUniquePath(base) helper method to replace boost::filesystem::unique_path() which is not available in std::filesystem. 2021-02-04 11:38:09 +01:00
golombrice.h [moveonly] Move MapIntoRange() to separate util/fastrange.h 2022-01-06 11:27:06 -05:00
hash_type.h move-only: Add util/hash_type 2021-05-11 10:38:18 +02:00
hasher.cpp Add generic SaltedSipHasher 2020-11-10 14:33:37 -05:00
hasher.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
macros.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
message.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
message.h Move direct calls to MessageSign into new SignMessage functions in CWallet and ScriptPubKeyMan 2020-03-09 11:16:20 -04:00
moneystr.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
moneystr.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
overflow.h Move AdditionOverflow to util, Add CheckedAdd with unit tests 2021-12-17 10:46:39 +01:00
overloaded.h refactor: Make CWalletTx sync state type-safe 2021-11-15 09:11:44 -05:00
rbf.cpp scripted-diff: Bump copyright of files changed in 2019 2019-12-30 10:42:20 +13:00
rbf.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
readwritefile.cpp util: fix WriteBinaryFile() claiming success even if error occurred 2021-03-01 12:57:00 +01:00
readwritefile.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
serfloat.cpp Add platform-independent float encoder/decoder 2021-05-24 16:04:44 -07:00
serfloat.h Add platform-independent float encoder/decoder 2021-05-24 16:04:44 -07:00
settings.cpp refactor: replace boost::filesystem with std::filesystem 2022-02-03 18:35:52 +08:00
settings.h Add <datadir>/settings.json persistent settings storage. 2020-07-11 05:41:12 -04:00
sock.cpp net: add new method Sock::Accept() that wraps accept() 2021-12-01 15:22:08 +01:00
sock.h net: add new method Sock::Accept() that wraps accept() 2021-12-01 15:22:08 +01:00
spanparsing.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
spanparsing.h scripted-diff: Bump copyright of files changed in 2019 2019-12-30 10:42:20 +13:00
strencodings.cpp Merge bitcoin/bitcoin#24297: Fix unintended unsigned integer overflow in strencodings 2022-02-10 07:17:32 +00:00
strencodings.h util: Restore GetIntArg saturating behavior 2022-01-11 19:54:36 -05:00
string.cpp
string.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
syscall_sandbox.cpp refactor: replace boost::filesystem with std::filesystem 2022-02-03 18:35:52 +08:00
syscall_sandbox.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
system.cpp util: Drop no longer needed StripRedundantLastElementsOfPath() function 2022-02-09 19:33:24 +02:00
system.h util: Add ArgsManager::GetPathArg() function 2022-02-09 19:31:16 +02:00
thread.cpp refactor: Make TraceThread a non-template free function 2021-04-25 12:28:44 +03:00
thread.h refactor: Make TraceThread a non-template free function 2021-04-25 12:28:44 +03:00
threadnames.cpp scripted-diff: Bump copyright of files changed in 2019 2019-12-30 10:42:20 +13:00
threadnames.h scripted-diff: Bump copyright of files changed in 2019 2019-12-30 10:42:20 +13:00
time.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
time.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
tokenpipe.cpp refactor: post Optional<> removal cleanups 2021-03-17 14:56:20 +08:00
tokenpipe.h util: Add RAII TokenPipe 2021-03-04 18:24:00 +01:00
trace.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
translation.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
types.h Add util/types.h with ALWAYS_FALSE template 2021-09-07 19:19:02 +02:00
ui_change_type.h wallet: Do not include server symbols 2020-06-27 11:39:09 -04:00
url.cpp scripted-diff: Bump copyright of files changed in 2019 2019-12-30 10:42:20 +13:00
url.h scripted-diff: Bump copyright headers 2020-04-16 13:33:09 -04:00
vector.h