core-lightning/common
Rusty Russell dd495b2b21 memleak: fix handling of excluded pointers.
We often hand an exclude pointer (usually the current command) to
memleak.  But when we encountered this we would stop iterating, rather
than just ignore it: this means we would often ignore significant siblings.

In particular, fixing this (which has always been there) reveals many
previously-undetected leaks.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2022-02-27 07:44:26 +10:30
..
test peer_exchange: set, read and log remote_addr 2022-02-22 05:45:47 +10:30
addr.c bitcoin/chainparams.h: Split BIP173 name into onchain and Lightning HRPs. 2021-12-14 11:21:35 +10:30
addr.h cleanup: remove unneeded includes in header files. 2021-09-17 09:43:22 +09:30
amount.c amount: helper for msat == 0 2021-12-28 04:42:42 +10:30
amount.h amount: helper for msat == 0 2021-12-28 04:42:42 +10:30
autodata.c common: clean up autodata in common_shutdown(). 2021-11-17 10:51:48 +10:30
autodata.h common: clean up autodata in common_shutdown(). 2021-11-17 10:51:48 +10:30
base32.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
base32.h common/base32: make this a simple tal-wrapper around ccan/base32. 2018-05-10 02:28:44 +00:00
base64.c common: use ccan/base64 instead of libsodium. 2021-11-14 18:49:46 +01:00
base64.h wireaddr: clean up tor parsing. 2021-11-14 18:49:46 +01:00
bech32_util.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
bech32_util.h cleanup: remove unneeded includes in header files. 2021-09-17 09:43:22 +09:30
bech32.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
bech32.h common/bech32: update to bech32m reference. 2021-06-11 13:54:20 +09:30
bigsize.c check-includes: allow redundant "config.h" 2021-02-04 12:02:36 +10:30
bigsize.h Remove varint typedef for bigsize 2020-09-23 16:30:36 +09:30
billboard.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
billboard.h billboard: break out common method for billboard updates 2021-01-10 13:44:04 +01:00
bip32.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
bip32.h wire: move remaining bitcoin functions out to bitcoin/ files. 2020-05-18 14:51:12 +02:00
blindedpath.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
blindedpath.h spec: import latest onionmessage spec, based on routeblinding. 2021-12-01 05:44:28 +10:30
blinding.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
blinding.h common: add blinding helpers. 2020-04-04 16:08:49 +10:30
blockheight_states.c global: use tal_dup_or_null(). 2021-12-30 14:36:55 +10:30
blockheight_states.h liquidity-ads: persist channel blockheight states to disk 2021-07-20 13:28:38 -04:00
bolt11_json.c bitcoin/chainparams.h: Split BIP173 name into onchain and Lightning HRPs. 2021-12-14 11:21:35 +10:30
bolt11_json.h common/bolt11_json: extract bolt11->json code. 2021-01-09 14:34:35 +10:30
bolt11.c common/bolt11: make decoded routes hang off routes arr, not b11. 2022-02-27 07:44:26 +10:30
bolt11.h cleanup: remove unneeded includes in header files. 2021-09-17 09:43:22 +09:30
bolt12_merkle.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
bolt12_merkle.h BOLT12: use point32 instead of pubkey32. 2021-10-08 13:47:30 +02:00
bolt12.c common: remove unused functions or make static. 2021-12-06 10:05:39 +10:30
bolt12.h common: remove unused functions or make static. 2021-12-06 10:05:39 +10:30
channel_config.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
channel_config.h lightningd: new option for htlc dust limit 2021-10-23 12:59:13 +02:00
channel_id.c common: generalize extract_channel_id(). 2021-12-30 09:50:40 +10:30
channel_id.h common: generalize extract_channel_id(). 2021-12-30 09:50:40 +10:30
channel_type.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
channel_type.h channeld: import updated channel_upgrade spec. 2021-10-08 16:07:21 +02:00
close_tx.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
close_tx.h common: use bitcoin_outpoint. 2021-10-15 12:09:36 +02:00
closing_fee.h closingd: configurable closing fee negotiation step 2020-04-07 13:52:48 +09:30
coin_mvt.c coin_moves: an htlc_fulfill claimed by them is a credit to "external" 2022-02-07 13:02:09 +10:30
coin_mvt.h coin_moves: remove unused method 2022-02-07 13:02:09 +10:30
configdir.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
configdir.h cleanup: remove unneeded includes in header files. 2021-09-17 09:43:22 +09:30
crypto_state.h per_peer_state: remove struct crypto_state 2022-01-20 15:24:06 +10:30
cryptomsg.c cleanup: remove unneeded includes in C files. 2021-09-17 09:43:22 +09:30
cryptomsg.h cleanup: remove unneeded includes in header files. 2021-09-17 09:43:22 +09:30
daemon_conn.c msg_queue: don't allow magic MSG_PASS_FD message for peers. 2022-01-20 15:24:06 +10:30
daemon_conn.h cleanup: remove unneeded includes in header files. 2021-09-17 09:43:22 +09:30
daemon.c Fix memory leak abort in debug mode 2021-10-10 13:22:29 +02:00
daemon.h Add missing extern qualifiers for gcc 10 2020-02-02 12:59:17 +10:30
decode_array.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
decode_array.h cleanup: remove unneeded includes in header files. 2021-09-17 09:43:22 +09:30
derive_basepoints.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
derive_basepoints.h cleanup: remove unneeded includes in header files. 2021-09-17 09:43:22 +09:30
descriptor_checksum.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
descriptor_checksum.h common: add a descriptor checksum computation module 2020-11-10 10:34:13 -06:00
dev_disconnect.c connectd: implement @ correctly. 2022-01-20 15:24:06 +10:30
dev_disconnect.h connectd: implement @ correctly. 2022-01-20 15:24:06 +10:30
dijkstra.c common: remove unused functions or make static. 2021-12-06 10:05:39 +10:30
dijkstra.h common: remove unused functions or make static. 2021-12-06 10:05:39 +10:30
ecdh_hsmd.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
ecdh_hsmd.h common: generalize ecdh function. 2020-04-04 16:08:49 +10:30
ecdh.h common: generalize ecdh function. 2020-04-04 16:08:49 +10:30
errcode.h lightningd: support hsm error code 2021-12-15 12:24:54 +10:30
features.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
features.h doc: clean up offers bolt quotes 2021-12-01 05:44:28 +10:30
fee_states.c global: use tal_dup_or_null(). 2021-12-30 14:36:55 +10:30
fee_states.h channeld: tweak function to allow testing for pending *uncommitted* changes. 2021-06-04 16:13:08 +09:30
fp16.c common: extract fp16 routines into their own file. 2021-02-04 12:02:36 +10:30
fp16.h common: extract fp16 routines into their own file. 2021-02-04 12:02:36 +10:30
gossip_constants.h gossipd: signal whether node_ann is updated, are we starting up? 2021-07-20 13:28:38 -04:00
gossip_rcvd_filter.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
gossip_rcvd_filter.h common/gossip_rcvd_filter: cache for received gossip. 2019-09-06 14:35:01 +02:00
gossip_store.c gossip_store: handle compacted gossip_store correctly. 2022-02-08 11:15:52 +10:30
gossip_store.h connectd: put more stuff into struct gossip_state. 2022-01-20 15:24:06 +10:30
gossmap.c BOLT12: use point32 instead of pubkey32. 2021-10-08 13:47:30 +02:00
gossmap.h BOLT12: use point32 instead of pubkey32. 2021-10-08 13:47:30 +02:00
hash_u5.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
hash_u5.h common: use tabs everywhere. 2020-02-05 14:19:12 +01:00
hmac.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
hmac.h common/sphinx: don't make copy to compute packet hmac. 2020-12-11 15:51:24 +01:00
hsm_encryption.c lightningd: support hsm error code 2021-12-15 12:24:54 +10:30
hsm_encryption.h lightningd: support hsm error code 2021-12-15 12:24:54 +10:30
htlc_state.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
htlc_state.h Fix a-vs-an typos 2018-02-08 22:49:34 +01:00
htlc_trim.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
htlc_trim.h dusty-htlcs: enforce limit on dusty htlcs 2021-10-23 12:59:13 +02:00
htlc_tx.c onchaind: fix minor leaks. 2022-02-27 07:44:26 +10:30
htlc_tx.h elements: unify overhead calculation. 2022-01-27 12:22:36 +01:00
htlc_wire.c global: use tal_dup_or_null(). 2021-12-30 14:36:55 +10:30
htlc_wire.h common: remove unused functions or make static. 2021-12-06 10:05:39 +10:30
htlc.h cleanup: remove unneeded includes in header files. 2021-09-17 09:43:22 +09:30
initial_channel.c common: use bitcoin_outpoint. 2021-10-15 12:09:36 +02:00
initial_channel.h common: use bitcoin_outpoint. 2021-10-15 12:09:36 +02:00
initial_commit_tx.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
initial_commit_tx.h elements: unify overhead calculation. 2022-01-27 12:22:36 +01:00
iso4217.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
iso4217.h common/iso4217: make find_iso4217 a little more usable. 2020-12-15 12:05:02 +01:00
json_command.h cleanup: remove unneeded includes in header files. 2021-09-17 09:43:22 +09:30
json_helpers.c common: remove unused functions or make static. 2021-12-06 10:05:39 +10:30
json_helpers.h common: remove unused functions or make static. 2021-12-06 10:05:39 +10:30
json_stream.c common: remove unused functions or make static. 2021-12-06 10:05:39 +10:30
json_stream.h common: remove unused functions or make static. 2021-12-06 10:05:39 +10:30
json_tok.c bitcoin/chainparams.h: Split BIP173 name into onchain and Lightning HRPs. 2021-12-14 11:21:35 +10:30
json_tok.h common: remove unused functions or make static. 2021-12-06 10:05:39 +10:30
json.c common: remove unused functions or make static. 2021-12-06 10:05:39 +10:30
json.h common: remove unused functions or make static. 2021-12-06 10:05:39 +10:30
jsonrpc_errors.h JSON RPC: Calls made in shutdown loop receive error code -5: LIGHTNINGD_SHUTDOWN 2021-11-30 13:34:44 +10:30
key_derive.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
key_derive.h headers: fix up header idempotent lines. 2017-08-29 17:54:14 +02:00
keyset.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
keyset.h cleanup: remove unneeded includes in header files. 2021-09-17 09:43:22 +09:30
lease_rates.c cleanup: remove unneeded includes in C files. 2021-09-17 09:43:22 +09:30
lease_rates.h common/lease_rates: more things const. 2021-07-20 13:28:38 -04:00
Makefile common/socket_close: remove now only connectd talks to peer. 2022-01-25 06:26:52 +10:30
memleak.c memleak: fix handling of excluded pointers. 2022-02-27 07:44:26 +10:30
memleak.h memleak: make notleak use the tal name instead of a boutique struct. 2021-11-27 10:38:13 +10:30
msg_queue.c msg_queue: don't allow magic MSG_PASS_FD message for peers. 2022-01-20 15:24:06 +10:30
msg_queue.h msg_queue: don't allow magic MSG_PASS_FD message for peers. 2022-01-20 15:24:06 +10:30
node_id.c BOLT12: use point32 instead of pubkey32. 2021-10-08 13:47:30 +02:00
node_id.h BOLT12: use point32 instead of pubkey32. 2021-10-08 13:47:30 +02:00
onion.c global: use tal_dup_or_null(). 2021-12-30 14:36:55 +10:30
onion.h cleanup: remove unneeded includes in header files. 2021-09-17 09:43:22 +09:30
onionreply.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
onionreply.h common: add struct onionreply 2020-01-23 16:17:42 +10:30
overflows.h overflows: helpers for integer assignment overflows. 2021-07-20 13:28:38 -04:00
param.c common/param: don't keep around the temporary array off cmd. 2022-02-27 07:44:26 +10:30
param.h common/param: fix leak with opt_param_def. 2022-02-27 07:44:26 +10:30
peer_billboard.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
peer_billboard.h common: peer_billboard() helper for updating the billboard. 2018-02-23 18:02:00 +01:00
peer_failed.c subdaemons: remove gossipd fd from per-peer daemons. 2022-02-08 11:15:52 +10:30
peer_failed.h common: remove peer_failed in favor of peer_failed_warn/peer_failed_err 2021-02-04 12:02:52 +10:30
peer_io.c peer subds: ignore failed writes. 2022-01-20 15:24:06 +10:30
peer_io.h connectd: do nagle by packet type. 2022-01-20 15:24:06 +10:30
peer_status_wire.csv subdaemons: don't stream gossip_store at all. 2022-01-20 15:24:06 +10:30
penalty_base.c check-includes: allow redundant "config.h" 2021-02-04 12:02:36 +10:30
penalty_base.h cleanup: remove unneeded includes in header files. 2021-09-17 09:43:22 +09:30
per_peer_state.c subdaemons: remove gossipd fd from per-peer daemons. 2022-02-08 11:15:52 +10:30
per_peer_state.h subdaemons: remove gossipd fd from per-peer daemons. 2022-02-08 11:15:52 +10:30
permute_tx.c common: remove unused functions or make static. 2021-12-06 10:05:39 +10:30
permute_tx.h common: remove unused functions or make static. 2021-12-06 10:05:39 +10:30
ping.c Removed FIXME to match bolts PR 918 2021-12-14 11:26:47 +10:30
ping.h channeld: restore ping command, but only for channeld. 2021-10-10 15:32:57 +02:00
private_channel_announcement.c cleanup: remove unneeded includes in C files. 2021-09-17 09:43:22 +09:30
private_channel_announcement.h gossip_store: make private channels more similar to channel_announcement 2020-10-21 08:58:34 +10:30
psbt_internal.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
psbt_internal.h dual-funding: convert to runtime flag, --experimental-dual-fund 2021-03-25 20:05:11 +10:30
psbt_open.c coin moves: notify when we make deposits to external accounts 2022-01-26 13:34:45 +10:30
psbt_open.h coin moves: notify when we make deposits to external accounts 2022-01-26 13:34:45 +10:30
pseudorand.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
pseudorand.h common: expose pseudorand_double 2019-04-16 21:22:13 +00:00
random_select.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
random_select.h Apply @cdecker typo suggestions from code review 2020-08-28 10:56:50 +09:30
read_peer_msg.c subdaemons: remove gossipd fd from per-peer daemons. 2022-02-08 11:15:52 +10:30
read_peer_msg.h subdaemons: remove gossipd fd from per-peer daemons. 2022-02-08 11:15:52 +10:30
route.c common/dijkstra: hand channel direction to path_score callback. 2021-10-22 16:04:37 +02:00
route.h refactor: move exclude parsing to json_tok 2021-12-04 21:37:42 +10:30
setup.c common: clean up autodata in common_shutdown(). 2021-11-17 10:51:48 +10:30
setup.h setup: create a common setup which will handle the wally-context 2020-05-19 13:35:42 +09:30
shutdown_scriptpubkey.c common: remove stderr debug in is_valid_witnessprog. 2022-01-25 06:26:52 +10:30
shutdown_scriptpubkey.h Makefile: update to latest spec. 2021-05-26 20:01:03 +09:30
sphinx.c common/sphinx: add helper to prepend length to payload. 2021-09-22 06:44:26 +09:30
sphinx.h common/sphinx: add helper to prepend length to payload. 2021-09-22 06:44:26 +09:30
status_levels.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
status_levels.h common: add routines for log level names. 2020-10-23 13:53:16 +10:30
status_wire.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
status_wire.csv cleanup: remove unneeded includes in header files. 2021-09-17 09:43:22 +09:30
status_wire.h status: generate messages rather than marshal/unmarshal manually. 2018-02-08 19:07:12 +01:00
status.c common: make sure we hand through peer for io logging. 2022-02-08 11:15:52 +10:30
status.h cleanup: remove unneeded includes in header files. 2021-09-17 09:43:22 +09:30
subdaemon.c connectd: do dev_disconnect logic. 2022-01-20 15:24:06 +10:30
subdaemon.h cleanup: remove unneeded includes in header files. 2021-09-17 09:43:22 +09:30
timeout.c common: add routine for absolute timeouts (vs. relative). 2022-01-20 15:24:06 +10:30
timeout.h common: add routine for absolute timeouts (vs. relative). 2022-01-20 15:24:06 +10:30
tx_roles.h tx_roles: pull up roles, rename 2020-10-20 12:50:31 +10:30
type_to_string.c type_to_string: detect type failure in DEVELOPER mode. 2021-09-21 18:04:43 +02:00
type_to_string.h bitcoin: remove unused functions, or make static. 2021-12-06 10:05:39 +10:30
utils.c ccan: update to get new helpers in ccan/tal 2021-12-30 14:36:55 +10:30
utils.h ccan: update to get new helpers in ccan/tal 2021-12-30 14:36:55 +10:30
utxo.c common: use bitcoin_outpoint. 2021-10-15 12:09:36 +02:00
utxo.h common: use bitcoin_outpoint. 2021-10-15 12:09:36 +02:00
version.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
version.h cleanup: remove unneeded includes in header files. 2021-09-17 09:43:22 +09:30
wallet.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
wallet.h wallet: Add transaction annotation type 2019-10-07 20:03:24 -05:00
wire_error.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
wire_error.h cleanup: remove unneeded includes in header files. 2021-09-17 09:43:22 +09:30
wireaddr.c peer_exchange: set, read and log remote_addr 2022-02-22 05:45:47 +10:30
wireaddr.h peer_exchange: set, read and log remote_addr 2022-02-22 05:45:47 +10:30