core-lightning/lightningd
Rusty Russell 7a7e43c078 channeld: fix uninitializes scid alias for dual-funding.
Caused a crash in CI, reproduced under valgrind by calling
any_channel_by_scid from io_poll_lightningd:

```
==2422524== Conditional jump or move depends on uninitialised value(s)
==2422524==    at 0x12C98D: any_channel_by_scid (channel.c:606)
==2422524==    by 0x14FF75: io_poll_lightningd (lightningd.c:682)
==2422524==    by 0x225FDE: io_loop (poll.c:420)
==2422524==    by 0x14A914: io_loop_with_timers (io_loop_with_timers.c:22)
==2422524==    by 0x150C4E: main (lightningd.c:1193)
==2422524==  Uninitialised value was created by a heap allocation
==2422524==    at 0x483B7F3: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==2422524==    by 0x234F61: allocate (tal.c:250)
==2422524==    by 0x235522: tal_alloc_ (tal.c:428)
==2422524==    by 0x12B500: new_unsaved_channel (channel.c:203)
==2422524==    by 0x13B77A: json_openchannel_init (dual_open_control.c:2610)
==2422524==    by 0x14C78D: command_exec (jsonrpc.c:630)
==2422524==    by 0x14CD9F: rpc_command_hook_final (jsonrpc.c:765)
==2422524==    by 0x181DDA: plugin_hook_call_ (plugin_hook.c:278)
==2422524==    by 0x14D198: plugin_hook_call_rpc_command (jsonrpc.c:853)
==2422524==    by 0x14D6A0: parse_request (jsonrpc.c:957)
==2422524==    by 0x14DAFE: read_json (jsonrpc.c:1054)
==2422524==    by 0x2231C8: next_plan (io.c:59)
```

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2022-07-09 09:59:52 +09:30
..
test options: let log-level subsystem filter also cover nodeid. 2022-07-09 09:59:52 +09:30
.gitignore Ignore all the deamon inside the git history 2021-10-28 15:51:38 +02:00
bitcoind.c lightningd: track weird CI crash in test_important_plugin 2022-06-27 17:21:35 +09:30
bitcoind.h common: use bitcoin_outpoint. 2021-10-15 12:09:36 +02:00
chaintopology.c lightningd: track weird CI crash in test_important_plugin 2022-06-27 17:21:35 +09:30
chaintopology.h
channel_control.c channeld: Track the funding depth while awaiting lockin 2022-07-04 22:14:06 +02:00
channel_control.h lightningd: handle reestablish directly from connectd. 2022-03-23 13:20:12 +10:30
channel_state.h
channel.c channeld: fix uninitializes scid alias for dual-funding. 2022-07-09 09:59:52 +09:30
channel.h channeld: Track the funding depth while awaiting lockin 2022-07-04 22:14:06 +02:00
closing_control.c shutdown: don't allow shutdown to p2pkh or p2sh addresses for anchor outputs. 2022-04-02 09:40:18 +10:30
closing_control.h patch lightningd-peer-fds.patch 2022-01-20 15:24:06 +10:30
coin_mvts.c balance_snapshot: don't count unconfirmed utxos 2022-03-05 15:12:12 +10:30
coin_mvts.h coin_mvt: tiny, dont import lightningd header 2022-02-07 13:02:09 +10:30
connect_control.c lightnind: removeDEFAULT_PORT global definition 2022-06-28 06:09:01 +09:30
connect_control.h lightningd: don't tell connectd to discard peer unless no subds left. 2022-03-23 13:20:12 +10:30
datastore.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
dual_open_control.c df: check mempool/block for funding output on broadcast fail 2022-07-08 19:21:11 +09:30
dual_open_control.h connectd: hold peer until we're interested. 2022-03-23 13:20:12 +10:30
gossip_control.c gossip: Add both channel directions with their respective alias 2022-07-04 22:14:06 +02:00
gossip_control.h connectd: remove second gossip fd. 2022-02-08 11:15:52 +10:30
hsm_control.c cli: make the command line more user friendly. 2022-03-24 09:53:38 +10:30
hsm_control.h
htlc_end.c lightningd: fix overzealous check in htlc_out_check: 2022-04-20 16:30:05 +09:30
htlc_end.h coin_mvt: record fees for an outbound htlc 2021-12-28 04:42:42 +10:30
htlc_set.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
htlc_set.h
invoice.c lightningd: change msatoshi args to amount_msat. 2022-06-21 06:52:35 +09:30
invoice.h
io_loop_with_timers.c database: pull out database code into a new module 2022-03-05 15:03:34 +10:30
io_loop_with_timers.h
json.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
json.h
jsonrpc.c lightningd: track weird CI crash in test_important_plugin 2022-06-27 17:21:35 +09:30
jsonrpc.h lightningd: cleanup, freeing jsonrpc in shutdown cannot trigger db write's anymore 2021-11-30 13:34:44 +10:30
lightningd.c bolt: Reflect the zeroconf featurebits in code 2022-07-04 22:14:06 +02:00
lightningd.h lightningd: multiple log-file options allow more than one log output. 2022-06-27 17:21:35 +09:30
log_status.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
log_status.h
log.c lightningd: make log-prefix actually prepend all log messages as expected. 2022-07-09 09:59:52 +09:30
log.h options: let log-level subsystem filter also cover nodeid. 2022-07-09 09:59:52 +09:30
Makefile channeld: take over gossip_rcvd_filter.c and is_msg_gossip_broadcast. 2022-06-17 14:14:02 +09:30
memdump.c memleak: fix double-free if we timeout. 2022-03-23 13:20:12 +10:30
memdump.h lightningd: simplify memleak code. 2022-03-10 09:40:09 +10:30
notification.c db: Store the local alias for forwarded incoming payments 2022-07-04 22:14:06 +02:00
notification.h lightningd: add "style" to listforwards. 2022-03-31 19:38:05 +10:30
offer.c Changed external/libwally-core to test_build_fix 2022-04-12 15:17:52 +09:30
onchain_control.c lightningd: extra sanity checks and rescue attempts for missing HTLCs. 2022-03-31 13:40:27 +10:30
onchain_control.h onchaind: remove 'is_replay' logic 2021-12-28 04:42:42 +10:30
onion_message.c connectd: restore obs2 onion support. 2022-03-29 10:55:12 +10:30
onion_message.h common: remove support for pre v0.10.2 onionmessages. 2021-12-01 05:44:28 +10:30
opening_common.c jsonrpc: Add mindepth argument to fundchannel and multifundchannel 2022-07-04 22:14:06 +02:00
opening_common.h lightningd: handle reestablish directly from connectd. 2022-03-23 13:20:12 +10:30
opening_control.c lightningd: mark subd->conn notleak() properly in transition. 2022-07-09 09:59:52 +09:30
opening_control.h connectd: hold peer until we're interested. 2022-03-23 13:20:12 +10:30
options.c options: print empty options properly. 2022-07-09 09:59:52 +09:30
options.h
pay.c ld: Use the local alias when reporting failures with zeroconf 2022-07-04 22:14:06 +02:00
pay.h lightningd: use our cached channel_update for errors instead of asking gossipd. 2022-02-08 11:15:52 +10:30
peer_control.c peer_control: Fix check_funding_details assert 2022-07-07 22:03:29 -05:00
peer_control.h jsonrpc: adds optional remote_addr to listpeers 2022-06-17 20:30:16 +09:30
peer_fd.c subdaemons: remove gossipd fd from per-peer daemons. 2022-02-08 11:15:52 +10:30
peer_fd.h subdaemons: remove gossipd fd from per-peer daemons. 2022-02-08 11:15:52 +10:30
peer_htlcs.c ld: Use the local alias in the htlc_accepted hook 2022-07-04 22:14:06 +02:00
peer_htlcs.h lightningd: extra sanity checks and rescue attempts for missing HTLCs. 2022-03-31 13:40:27 +10:30
ping.c connectd: handle pings and pongs. 2022-02-08 11:15:52 +10:30
plugin_control.c lightning-cli plugin start - Assume default relative path 2022-06-17 14:18:48 +09:30
plugin_control.h
plugin_hook.c lightningd: track weird CI crash in test_important_plugin 2022-06-27 17:21:35 +09:30
plugin_hook.h
plugin.c lightningd: track weird CI crash in test_important_plugin 2022-06-27 17:21:35 +09:30
plugin.h lightningd: cleanup obsolete plugins->shutdown flag 2021-12-14 09:33:10 +10:30
routehint.c invoice: Consider aliases too when selecting routehints 2022-07-04 22:14:06 +02:00
routehint.h
signmessage.c signmessage: improve the UX of the rpc command when zbase is not a valid one 2022-06-24 14:02:04 +09:30
subd.c options: let log-level subsystem filter also cover nodeid. 2022-07-09 09:59:52 +09:30
subd.h subd: make channel/peer own the subd. 2022-03-30 06:27:52 +10:30
watch.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
watch.h common: use bitcoin_outpoint. 2021-10-15 12:09:36 +02:00