core-lightning/tests
Matt Morehouse ee501b035b bolt11: avoid reading uninitialized memory
If both databits and *data_len are 0, pull_uint return uninitialized
stack memory in *val.

Detected by valgrind and UBSan.

valgrind:
==173904== Use of uninitialised value of size 8
==173904==    __sanitizer_cov_trace_cmp8
==173904==    decode_c (bolt11.c:292)
==173904==    bolt11_decode_nosig (bolt11.c:877)

UBSan:
common/bolt11.c:79:29: runtime error: shift exponent 64 is too large for 64-bit type 'uint64_t' (aka 'unsigned long')

Corpus input e6f7b9744a7d79b2aa4f7c477707bdd3483f40fa triggers the UBSan
report, but we didn't previously realize this because UBSan has been
disabled in the CI run. We rename the input to indicate its usefulness
as a permanent regression test.
2023-10-18 09:53:22 +10:30
..
data db: migrate old runes table to fix up id fields. 2023-08-31 05:33:15 +09:30
fuzz bolt11: avoid reading uninitialized memory 2023-10-18 09:53:22 +10:30
plugins pytest: Fix elementsd tests 2023-09-26 19:21:05 +02:00
vectors pytest: Remove onion test vectors containing legacy onions. 2022-03-18 09:20:11 +10:30
benchmark.py pytest: always provide payment_secret when making payments. 2021-07-14 14:38:00 -05:00
conftest.py pytest: use --developer instead of environment variable. 2023-09-21 20:08:24 +09:30
db.py test-db-provider: if postgres in tests, startup a bookkeeper db 2022-07-28 12:08:18 +09:30
fixtures.py pytest: use --developer instead of environment variable. 2023-09-21 20:08:24 +09:30
rkls_github_canned_server.py pytest: add blackbox tests for reckless 2023-04-09 12:41:11 +09:30
test_bookkeeper.py pytest: wean many tests off the assumption that listchannels shows private channels. 2023-10-04 08:02:33 +10:30
test_cln_rs.py pytest: test that cln-grpc certificates are not generated when cln-grpc is not started. 2023-10-13 10:25:36 +02:00
test_closing.py pytest: wean many tests off the assumption that listchannels shows private channels. 2023-10-04 08:02:33 +10:30
test_connection.py pytest: wean many tests off the assumption that listchannels shows private channels. 2023-10-04 08:02:33 +10:30
test_db.py pytest: use --developer instead of environment variable. 2023-09-21 20:08:24 +09:30
test_gossip.py pytest: wean many tests off the assumption that listchannels shows private channels. 2023-10-04 08:02:33 +10:30
test_invoices.py pytest: use --developer instead of environment variable. 2023-09-21 20:08:24 +09:30
test_misc.py lightningd: print the version of cln early 2023-10-14 17:52:15 +02:00
test_mkfunding.py pytest: add tests for devtools/mkfunding 2023-01-09 14:50:30 -06:00
test_onion.py lightningd: remove support for legacy onion format. 2022-03-18 09:20:11 +10:30
test_opening.py lightningd: split DUALOPEND_OPEN_INIT into DUALOPEND_OPEN_INIT and DUALOPEND_OPEN_COMMITTED. 2023-10-02 11:41:19 +10:30
test_pay.py pytest: wean many tests off the assumption that listchannels shows private channels. 2023-10-04 08:02:33 +10:30
test_plugin.py pytest: wean many tests off the assumption that listchannels shows private channels. 2023-10-04 08:02:33 +10:30
test_reckless.py pytest: add reckless local install test 2023-07-27 06:53:49 +09:30
test_renepay.py pytest: use --developer instead of environment variable. 2023-09-21 20:08:24 +09:30
test_runes.py pytest: correctly test missing method for runes. 2023-10-17 14:58:40 +10:30
test_splicing.py addpsbtoutput: New onchain command for PSBT output 2023-10-03 10:12:39 +02:00
test_wallet.py addpsbtoutput: New onchain command for PSBT output 2023-10-03 10:12:39 +02:00
utils.py pytest: use --developer instead of environment variable. 2023-09-21 20:08:24 +09:30
valgrind-suppressions.txt pytest: Use valgrind target suppressions instead of skipping tests 2022-03-10 10:21:41 +10:30