aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorfanquake <fanquake@gmail.com>2020-05-02 20:52:15 +0800
committerfanquake <fanquake@gmail.com>2020-05-02 21:24:05 +0800
commit68ef9523d1bcd00afbccee2a6585c9f82ddcdb31 (patch)
tree629945c4ce4f60d94e0926c969895619e8539856 /test
parent844d2070a2c0106bb7a54be5cad7d4da4d9cd55e (diff)
parent2748e8793267126c5b40621d75d1930e358f057e (diff)
downloadbitcoin-68ef9523d1bcd00afbccee2a6585c9f82ddcdb31.tar.xz
Merge #18413: script: prevent UB when computing abs value for num opcode serialize
2748e8793267126c5b40621d75d1930e358f057e script: prevent UB when computing abs value for num opcode serialize (pierrenn) Pull request description: This was reported by practicalswift here #18046 It seems that the original author of the line used a reference to glibc `abs`: https://github.com/lattera/glibc/blob/master/stdlib/abs.c However depending on some implementation details this can be undefined behavior for unusual values. A detailed explanation of the UB is provided here : https://stackoverflow.com/questions/17313579/is-there-a-safe-way-to-get-the-unsigned-absolute-value-of-a-signed-integer-with (by [Billy O'Neal](https://twitter.com/malwareminigun)) Simple relevant godbolt example : https://godbolt.org/z/yRwtCG Thanks! ACKs for top commit: sipa: ACK 2748e8793267126c5b40621d75d1930e358f057e MarcoFalke: ACK 2748e8793267126c5b40621d75d1930e358f057e, only checked that the bitcoind binary does not change with clang -O2 🎓 practicalswift: ACK 2748e8793267126c5b40621d75d1930e358f057e Tree-SHA512: 539a34c636c2674c66cb6e707d9d0dfdce63f59b5525610ed88da10c9a8d59d81466b111ad63b850660cef3750d732fc7755530c81a2d61f396be0707cd86dec
Diffstat (limited to 'test')
0 files changed, 0 insertions, 0 deletions