core-lightning/lightningd
Rusty Russell 3564263e12 jsonrpc: use-after-free bug due to unspecified free behavior 1/2
These were fun to hunt down. The jcon and the conn are allocated off
of ld, so the free order is unspecified and if conn is freed before
conn then the finish_jcon destructor uses conn after free.

[ Edit: split commit, modified to use a destructor directly on jcon,
  which is more robust than relying on it only being freed via conn --RR ]
Signed-off-by: Christian Decker <decker.christian@gmail.com>
2017-09-29 10:06:56 +09:30
..
test lightnind: _ dev-disconnect argument to suppress commit timer. 2017-09-28 13:07:05 +09:30
.gitignore Rename subdaemons, move them into top level. 2017-08-29 17:54:14 +02:00
bitcoind.c lightningd: avoid errors on shutdown. 2017-09-12 23:00:53 +02:00
bitcoind.h lightningd: avoid errors on shutdown. 2017-09-12 23:00:53 +02:00
build_utxos.c common: absorb remaining files from daemon/ 2017-08-29 17:54:14 +02:00
build_utxos.h common: move some files out of lightningd/ 2017-08-29 17:54:14 +02:00
chaintopology.c log: remove struct helpers. 2017-09-12 22:59:24 +02:00
chaintopology.h external: new subdirectory for all external libraries and submodules. 2017-08-29 17:54:14 +02:00
dev_ping.c Rename subdaemons, move them into top level. 2017-08-29 17:54:14 +02:00
dns.c lightningd: remove lightningd_state. 2017-08-29 17:54:14 +02:00
dns.h lightningd: remove lightningd_state. 2017-08-29 17:54:14 +02:00
gossip_control.c subd: remove context arg, as we're always owned by lightningd. 2017-09-28 15:37:43 +02:00
gossip_control.h headers: fix up header idempotent lines. 2017-08-29 17:54:14 +02:00
gossip_msg.c gossip: fix address descriptor handling. 2017-09-03 02:01:54 +02:00
gossip_msg.h gossip: make rpc responses correct. 2017-09-03 02:01:54 +02:00
hsm_control.c Rename subdaemons, move them into top level. 2017-08-29 17:54:14 +02:00
hsm_control.h lightningd/hsm_control: use a simple fd for HSM. 2017-06-27 10:25:53 +09:30
htlc_end.c common: absorb remaining files from daemon/ 2017-08-29 17:54:14 +02:00
htlc_end.h common: move some files out of lightningd/ 2017-08-29 17:54:14 +02:00
invoice.c lightningd: remove lightningd_state. 2017-08-29 17:54:14 +02:00
invoice.h lightningd: remove lightningd_state. 2017-08-29 17:54:14 +02:00
jsonrpc.c jsonrpc: use-after-free bug due to unspecified free behavior 1/2 2017-09-29 10:06:56 +09:30
jsonrpc.h lightningd: remove lightningd_state. 2017-08-29 17:54:14 +02:00
lightningd.c lightningd: don't free log on shutdown until after lightningd freed. 2017-09-29 10:06:56 +09:30
lightningd.h lightningd: give option to crash if a subdaemon fails. 2017-09-12 23:00:53 +02:00
log.c lightningd: dump backtrace on crash or fatal(). 2017-09-12 23:00:53 +02:00
log.h lightningd: search path for our own directory. 2017-09-15 13:44:34 +02:00
Makefile Rename subdaemons, move them into top level. 2017-08-29 17:54:14 +02:00
netaddr.c common: absorb remaining files from daemon/ 2017-08-29 17:54:14 +02:00
netaddr.h headers: fix up header idempotent lines. 2017-08-29 17:54:14 +02:00
new_connection.c subd: remove context arg, as we're always owned by lightningd. 2017-09-28 15:37:43 +02:00
new_connection.h lightningd: remove lightningd_state. 2017-08-29 17:54:14 +02:00
opt_time.c common: absorb remaining files from daemon/ 2017-08-29 17:54:14 +02:00
opt_time.h headers: fix up header idempotent lines. 2017-08-29 17:54:14 +02:00
options.c lightningd: give option to crash if a subdaemon fails. 2017-09-12 23:00:53 +02:00
options.h lightningd: remove lightningd_state. 2017-08-29 17:54:14 +02:00
pay.c Rename subdaemons, move them into top level. 2017-08-29 17:54:14 +02:00
pay.h lightningd: unify pay vs forward path when handling failures. 2017-06-23 09:29:42 +09:30
peer_control.c peer_control: don't double-free on permanent fail of non-persistent peer. 2017-09-28 15:37:43 +02:00
peer_control.h common: move some files out of lightningd/ 2017-08-29 17:54:14 +02:00
peer_htlcs.c onchaind: fail htlcs which are not included in commitment tx. 2017-09-28 13:07:05 +09:30
peer_htlcs.h onchaind: fail htlcs which are not included in commitment tx. 2017-09-28 13:07:05 +09:30
peer_state.h onchain: add initial onchain state. 2017-09-28 13:07:05 +09:30
subd.c subd: remove context arg, as we're always owned by lightningd. 2017-09-28 15:37:43 +02:00
subd.h subd: remove context arg, as we're always owned by lightningd. 2017-09-28 15:37:43 +02:00
watch.c watch: remove peer_debug helper. 2017-09-28 13:07:05 +09:30
watch.h lightningd: remove lightningd_state. 2017-08-29 17:54:14 +02:00