Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
lightning-cli: fix malformed response bug
There was a wrong assumption that the number of bytes read by `cli_read` would get us for each correctly read token two extra CR characters. As a matter of fact one could read enough characters to parse the first token, but the two extra CR characters are not guaranteed. ``` ==143570== Memcheck, a memory error detector ==143570== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. ==143570== Using Valgrind-3.19.0 and LibVEX; rerun with -h for copyright info ==143570== Command: /home/lagrange/BACKUP/l4-appdata/github/lagrang3/lightning/cli/lightning-cli --lightning-dir=/tmp/askrene_benchmark/lightning -k getroutes source=032ed0d87ba2bd68e3a386717cf2faaae4fa6d6da247986b1997113930e4f841d5 destination=03b2f16bf472dd03c55c2ce9910aab717321db4489cd87df5225adadb08031da4b amount_msat=100000sat final_cltv=6 layers=[] maxfee_msat=500sat ==143570== ==143570== Invalid read of size 1 ==143570== at 0x484A430: memmove (vg_replace_strmem.c:1382) ==143570== by 0x10C3D2: main (lightning-cli.c:871) ==143570== Address 0x4a62f80 is 0 bytes after a block of size 1,040 alloc'd ==143570== at 0x48407B4: malloc (vg_replace_malloc.c:381) ==143570== by 0x11402E: allocate (tal.c:256) ==143570== by 0x11471E: tal_alloc_ (tal.c:473) ==143570== by 0x1147EA: tal_alloc_arr_ (tal.c:517) ==143570== by 0x10C206: main (lightning-cli.c:816) ==143570== ==143570== Invalid read of size 1 ==143570== at 0x484A43D: memmove (vg_replace_strmem.c:1382) ==143570== by 0x10C3D2: main (lightning-cli.c:871) ==143570== Address 0x4a62f81 is 1 bytes after a block of size 1,040 alloc'd ==143570== at 0x48407B4: malloc (vg_replace_malloc.c:381) ==143570== by 0x11402E: allocate (tal.c:256) ==143570== by 0x11471E: tal_alloc_ (tal.c:473) ==143570== by 0x1147EA: tal_alloc_arr_ (tal.c:517) ==143570== by 0x10C206: main (lightning-cli.c:816) ==143570== ==143570== Invalid write of size 1 ==143570== at 0x484A433: memmove (vg_replace_strmem.c:1382) ==143570== by 0x10C3D2: main (lightning-cli.c:871) ==143570== Address 0x4a62f80 is 0 bytes after a block of size 1,040 alloc'd ==143570== at 0x48407B4: malloc (vg_replace_malloc.c:381) ==143570== by 0x11402E: allocate (tal.c:256) ==143570== by 0x11471E: tal_alloc_ (tal.c:473) ==143570== by 0x1147EA: tal_alloc_arr_ (tal.c:517) ==143570== by 0x10C206: main (lightning-cli.c:816) ``` Changelog-Fixed: lightning-cli: fix "malformed response" bug Signed-off-by: Lagrang3 <[email protected]>
- Loading branch information