core-lightning/connectd
niftynei 0b8ea2299a connectd: patch valgrind error w/ buffers for error msgs
The `tmpctx` is free'd before the error is read out/sent over the wire;
there's a call that will copy the array before sending it, let's use
that instead and take() the object?

------------------------------- Valgrind errors --------------------------------
Valgrind error file: valgrind-errors.2181501
==2181501== Syscall param write(buf) points to unaddressable byte(s)
==2181501==    at 0x49E4077: write (write.c:26)
==2181501==    by 0x1C79A3: do_write (io.c:189)
==2181501==    by 0x1C80AB: do_plan (io.c:394)
==2181501==    by 0x1C81BA: io_ready (io.c:423)
==2181501==    by 0x1CA45B: io_loop (poll.c:453)
==2181501==    by 0x118593: main (connectd.c:2053)
==2181501==  Address 0x4afb158 is 40 bytes inside a block of size 140 free'd
==2181501==    at 0x483F0C3: free (vg_replace_malloc.c:872)
==2181501==    by 0x1D103C: del_tree (tal.c:421)
==2181501==    by 0x1D130A: tal_free (tal.c:486)
==2181501==    by 0x1364B8: clean_tmpctx (utils.c:172)
==2181501==    by 0x1266DD: daemon_poll (daemon.c:87)
==2181501==    by 0x1CA334: io_loop (poll.c:420)
==2181501==    by 0x118593: main (connectd.c:2053)
==2181501==  Block was alloc'd at
==2181501==    at 0x483C855: malloc (vg_replace_malloc.c:381)
==2181501==    by 0x1D0AC5: allocate (tal.c:250)
==2181501==    by 0x1D1086: tal_alloc_ (tal.c:428)
==2181501==    by 0x1D124F: tal_alloc_arr_ (tal.c:471)
==2181501==    by 0x126204: cryptomsg_encrypt_msg (cryptomsg.c:161)
==2181501==    by 0x11335F: peer_connected (connectd.c:318)
==2181501==    by 0x118A8A: peer_init_received (peer_exchange_initmsg.c:135)
==2181501==    by 0x1C751E: next_plan (io.c:59)
==2181501==    by 0x1C8126: do_plan (io.c:407)
==2181501==    by 0x1C8168: io_ready (io.c:417)
==2181501==    by 0x1CA45B: io_loop (poll.c:453)
==2181501==    by 0x118593: main (connectd.c:2053)
==2181501==
{
   <insert_a_suppression_name_here>
   Memcheck:Param
   write(buf)
   fun:write
   fun:do_write
   fun:do_plan
   fun:io_ready
   fun:io_loop
   fun:main
}
--------------------------------------------------------------------------------
2023-02-04 15:31:16 +10:30
..
test setup: make all htables use tal. 2023-01-12 11:44:10 +10:30
connectd.c connectd: patch valgrind error w/ buffers for error msgs 2023-02-04 15:31:16 +10:30
connectd.h common: expose node_id_hash functions. 2023-01-21 08:05:31 -06:00
connectd_gossipd_wire.csv gossipd: don't hand out fds. 2022-02-08 11:15:52 +10:30
connectd_wire.csv connectd: don't ask DNS seeds for addresses on every reconnect. 2023-01-03 15:00:27 +10:30
gossip_rcvd_filter.c dual-fund: update extracted CSVs to latest bolt draft 2023-02-04 15:31:16 +10:30
gossip_rcvd_filter.h channeld: take over gossip_rcvd_filter.c and is_msg_gossip_broadcast. 2022-06-17 14:14:02 +09:30
gossip_store.c dual-fund: update extracted CSVs to latest bolt draft 2023-02-04 15:31:16 +10:30
gossip_store.h common/gossip_store: move subdaemon-only routines to connectd. 2023-01-30 15:15:41 -06:00
handshake.c connectd: keep timeout timer around so we can disable it. 2022-01-20 15:24:06 +10:30
handshake.h connectd: keep timeout timer around so we can disable it. 2022-01-20 15:24:06 +10:30
Makefile common/gossip_store: move subdaemon-only routines to connectd. 2023-01-30 15:15:41 -06:00
multiplex.c dual-fund: update extracted CSVs to latest bolt draft 2023-02-04 15:31:16 +10:30
multiplex.h lightningd: don't explicitly tell connectd to disconnect, have it do it on sending error/warning. 2022-07-18 20:50:04 -05:00
netaddress.c bolt7: allow announcement of ADDR_TYPE_DNS 2021-11-30 09:38:17 +10:30
netaddress.h cleanup: remove unneeded includes in header files. 2021-09-17 09:43:22 +09:30
onion_message.c connectd: ensure htables are always tal objects. 2023-01-12 11:44:10 +10:30
onion_message.h onionmessages: remove obsolete onion message parsing. 2022-09-29 16:10:57 +09:30
peer_exchange_initmsg.c connectd: remove reconnection logic. 2022-07-18 20:50:04 -05:00
peer_exchange_initmsg.h connectd: keep timeout timer around so we can disable it. 2022-01-20 15:24:06 +10:30
sha1.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
sha1.h lightning_websocketd: simple proxy for websockets. 2021-10-22 11:56:30 +02:00
tor.c check: make sure all files outside contrib/ include "config.h" first. 2021-12-06 10:05:39 +10:30
tor.h connectd: rename 'struct reaching' to 'struct connecting'. 2018-09-28 04:14:28 +00:00
tor_autoservice.c connectd: remove enable-autotor-v2-mode option 2022-05-18 10:15:36 +09:30
tor_autoservice.h connectd: remove enable-autotor-v2-mode option 2022-05-18 10:15:36 +09:30
websocketd.c websocketd: fix random failures by blocking stdin reads 2022-03-14 12:26:46 -05:00