0
0
Fork 0
mirror of https://github.com/bitcoin/bitcoin.git synced 2025-02-26 13:01:49 -05:00
bitcoin-bitcoin-core/src
MarcoFalke 290ff5ef6d
Merge bitcoin/bitcoin#24041: util: Restore GetIntArg saturating behavior
b5c9bb5cb9 util: Restore GetIntArg saturating behavior (James O'Beirne)

Pull request description:

  The new locale-independent atoi64 method introduced in #20452 parses large integer values higher than maximum representable value as 0 instead of the maximum value, which breaks backwards compatibility. This commit restores compatibility and adds test coverage for this case in terms of the related GetIntArg and strtoll functions.

  Specifically, command line or bitcoin.conf integer values greater than `9223372036854775807` (`2**63-1`) used to be parsed as `9223372036854775807` before #20452. Then #20452 caused them to be parsed as `0`. And after this PR they will be parsed as `9223372036854775807` again.

  This change is a stripped-down alternative version of #23841 by jamesob

ACKs for top commit:
  jamesob:
    Github ACK b5c9bb5cb9
  vincenzopalazzo:
    ACK b5c9bb5cb9
  MarcoFalke:
    review ACK b5c9bb5cb9 🌘

Tree-SHA512: 4e8abdbabf3cf4713cf5a7c5169539159f359ab4109a4e7e644cc2e9b2b0c3c532fad9f6b772daf015e1c5340ce59280cd9a41f2730afda6099cbf636b7d23ae
2022-01-12 18:28:07 +01:00
..
bench Add src/wallet/* code to wallet:: namespace 2022-01-06 22:14:16 -05:00
common Add FastRange32 function and use it throughout the codebase 2022-01-07 13:37:47 -05:00
compat scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
config
consensus scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
crc32c Update crc32c subtree 2021-09-29 14:10:29 +02:00
crypto scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
index Add src/node/* code to node:: namespace 2022-01-06 22:14:16 -05:00
init Add src/node/* code to node:: namespace 2022-01-06 22:14:16 -05:00
interfaces Merge bitcoin/bitcoin#23497: Add src/node/ and src/wallet/ code to node:: and wallet:: namespaces 2022-01-11 11:11:00 +01:00
ipc refactor: Block unsafe fs::path std::string conversion calls 2021-10-05 11:10:47 -04:00
leveldb
logging scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
minisketch Merge commit 'b6487dc4ef47ec9ea894eceac25f37d0b806f8aa' as 'src/minisketch' 2021-10-21 09:36:07 +08:00
node Merge bitcoin/bitcoin#23497: Add src/node/ and src/wallet/ code to node:: and wallet:: namespaces 2022-01-11 11:11:00 +01:00
policy scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
primitives scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
qt Merge bitcoin-core/gui#517: refactor, qt: Use std::chrono for parameters of QTimer methods 2022-01-12 14:59:24 +02:00
rpc Merge bitcoin/bitcoin#23974: Make blockstorage globals private members of BlockManager 2022-01-07 11:14:16 +08:00
script rpc: Quote user supplied descriptor in error msg 2022-01-01 00:26:08 +13:00
secp256k1 Update secp256k1 subtree to latest upstream master 2021-12-15 09:19:50 -05:00
support scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
test Merge bitcoin/bitcoin#24041: util: Restore GetIntArg saturating behavior 2022-01-12 18:28:07 +01:00
univalue Update univalue subtree to latest upstream 2021-10-11 20:45:56 +08:00
util util: Restore GetIntArg saturating behavior 2022-01-11 19:54:36 -05:00
wallet Merge bitcoin/bitcoin#23497: Add src/node/ and src/wallet/ code to node:: and wallet:: namespaces 2022-01-11 11:11:00 +01:00
zmq Add src/node/* code to node:: namespace 2022-01-06 22:14:16 -05:00
.clang-format Use c++17 in clang-format 2021-11-12 11:46:34 +01:00
.clang-tidy
addrdb.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
addrdb.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
addrman.cpp Merge bitcoin/bitcoin#23826: test: Make AddrMan unit tests use public interface, extend coverage 2022-01-04 23:08:11 +08:00
addrman.h Merge bitcoin/bitcoin#23826: test: Make AddrMan unit tests use public interface, extend coverage 2022-01-04 23:08:11 +08:00
addrman_impl.h test: Remove unused AddrManTest class 2021-12-28 21:54:51 +01:00
arith_uint256.cpp
arith_uint256.h
attributes.h
banman.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
banman.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
base58.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
base58.h
bech32.cpp Make Bech32 LocateErrors return error list rather than using out-arg 2021-12-06 14:17:41 +13:00
bech32.h Make Bech32 LocateErrors return error list rather than using out-arg 2021-12-06 14:17:41 +13:00
bitcoin-cli-res.rc
bitcoin-cli.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
bitcoin-tx-res.rc
bitcoin-tx.cpp Merge bitcoin/bitcoin#23784: bitcoin-tx: Require that input amount is provided for witness transactions 2022-01-05 17:48:55 +01:00
bitcoin-util-res.rc
bitcoin-util.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
bitcoin-wallet-res.rc
bitcoin-wallet.cpp Add src/wallet/* code to wallet:: namespace 2022-01-06 22:14:16 -05:00
bitcoind-res.rc
bitcoind.cpp Add src/node/* code to node:: namespace 2022-01-06 22:14:16 -05:00
blockencodings.cpp
blockencodings.h
blockfilter.cpp scripted-diff: rename MapIntoRange to FastRange64 2022-01-06 11:29:55 -05:00
blockfilter.h
chain.cpp Move CBlockFileInfo::ToString method where class is declared 2022-01-06 22:14:16 -05:00
chain.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
chainparams.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
chainparams.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
chainparamsbase.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
chainparamsbase.h
chainparamsseeds.h
checkqueue.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
clientversion.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
clientversion.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
coins.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
coins.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
compat.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
compressor.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
compressor.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
core_io.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
core_memusage.h
core_read.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
core_write.cpp Merge bitcoin/bitcoin#23320: rpc: Add RPC help for getblock verbosity level 3 2022-01-04 15:35:42 +01:00
cuckoocache.h Add FastRange32 function and use it throughout the codebase 2022-01-07 13:37:47 -05:00
dbwrapper.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
dbwrapper.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
deploymentinfo.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
deploymentinfo.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
deploymentstatus.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
deploymentstatus.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
dummywallet.cpp Add src/wallet/* code to wallet:: namespace 2022-01-06 22:14:16 -05:00
external_signer.cpp
external_signer.h
flatfile.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
flatfile.h
fs.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
fs.h refactor: Block unsafe std::string fs::path conversion copy_file calls 2022-01-10 23:48:23 +02:00
hash.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
hash.h
httprpc.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
httprpc.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
httpserver.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
httpserver.h
i2p.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
i2p.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
indirectmap.h
init.cpp Add src/node/* code to node:: namespace 2022-01-06 22:14:16 -05:00
init.h Add src/node/* code to node:: namespace 2022-01-06 22:14:16 -05:00
key.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
key.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
key_io.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
key_io.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
logging.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
logging.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
Makefile.am [moveonly] Move MapIntoRange() to separate util/fastrange.h 2022-01-06 11:27:06 -05:00
Makefile.bench.include scripted-diff: Rename libbitcoin_server.a to libbitcoin_node.a 2021-12-20 10:53:01 -05:00
Makefile.crc32c.include build: remove support for weak linking getauxval() 2021-09-24 15:40:04 +08:00
Makefile.leveldb.include build: remove build stubs for external leveldb 2021-10-15 01:02:45 +00:00
Makefile.minisketch.include build: add minisketch build file and include it 2021-10-21 09:37:30 +08:00
Makefile.qt.include scripted-diff: Rename libbitcoin_server.a to libbitcoin_node.a 2021-12-20 10:53:01 -05:00
Makefile.qt_locale.include
Makefile.qttest.include scripted-diff: Rename libbitcoin_server.a to libbitcoin_node.a 2021-12-20 10:53:01 -05:00
Makefile.test.include scripted-diff: Rename libbitcoin_server.a to libbitcoin_node.a 2021-12-20 10:53:01 -05:00
Makefile.test_fuzz.include scripted-diff: Rename libbitcoin_server.a to libbitcoin_node.a 2021-12-20 10:53:01 -05:00
Makefile.test_util.include scripted-diff: Rename libbitcoin_server.a to libbitcoin_node.a 2021-12-20 10:53:01 -05:00
Makefile.univalue.include Integrate univalue into our buildsystem 2021-10-11 20:46:25 +08:00
mapport.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
mapport.h
memusage.h
merkleblock.cpp
merkleblock.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
net.cpp Merge bitcoin/bitcoin#21879: refactor: wrap accept() and extend usage of Sock 2022-01-05 15:32:53 +01:00
net.h Merge bitcoin/bitcoin#21879: refactor: wrap accept() and extend usage of Sock 2022-01-05 15:32:53 +01:00
net_permissions.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
net_permissions.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
net_processing.cpp Add src/node/* code to node:: namespace 2022-01-06 22:14:16 -05:00
net_processing.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
net_types.cpp net: Drop only invalid entries when reading banlist.json 2021-12-14 18:58:45 +01:00
net_types.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
netaddress.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
netaddress.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
netbase.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
netbase.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
netmessagemaker.h
noui.cpp
noui.h
outputtype.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
outputtype.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
pow.cpp
pow.h
prevector.h
protocol.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
protocol.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
psbt.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
psbt.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
pubkey.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
pubkey.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
random.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
random.h
randomenv.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
randomenv.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
rest.cpp Add src/node/* code to node:: namespace 2022-01-06 22:14:16 -05:00
reverse_iterator.h
scheduler.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
scheduler.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
serialize.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
shutdown.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
shutdown.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
signet.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
signet.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
span.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
streams.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
sync.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
sync.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
threadinterrupt.cpp
threadinterrupt.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
threadsafety.h
timedata.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
timedata.h
tinyformat.h
torcontrol.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
torcontrol.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
txdb.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
txdb.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
txmempool.cpp Merge bitcoin/bitcoin#23683: bug fix: valid but different LockPoints after a reorg 2022-01-03 14:34:39 +01:00
txmempool.h Merge bitcoin/bitcoin#23683: bug fix: valid but different LockPoints after a reorg 2022-01-03 14:34:39 +01:00
txorphanage.cpp
txorphanage.h
txrequest.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
txrequest.h
uint256.cpp
uint256.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
undo.h
validation.cpp Remove cs_main lock annotation from ChainstateManager.m_blockman 2022-01-11 05:11:00 -05:00
validation.h Remove cs_main lock annotation from ChainstateManager.m_blockman 2022-01-11 05:11:00 -05:00
validationinterface.cpp
validationinterface.h
version.h
versionbits.cpp scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
versionbits.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00
walletinitinterface.h Add src/node/* code to node:: namespace 2022-01-06 22:14:16 -05:00
warnings.cpp
warnings.h scripted-diff: Bump copyright headers 2021-12-30 19:36:57 +02:00