From e8c94c2e29c02565be2af8220e244ee9a92eff8e Mon Sep 17 00:00:00 2001 From: practicalswift Date: Tue, 9 Jan 2018 22:21:56 +0100 Subject: [PATCH] Check return value of read_all(...) call All other users of read_all(...) check the return value: ``` hsmd/hsm.c: if (!read_all(fd, &secretstuff.hsm_secret, sizeof(secretstuff.hsm_secret))) test/test_protocol.c: if (!read_all(fd, p, len)) wire/wire_sync.c: if (!read_all(fd, &len, sizeof(len))) wire/wire_sync.c: if (!read_all(fd, msg, wirelen_to_cpu(len))) ``` --- test/test_protocol.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/test/test_protocol.c b/test/test_protocol.c index 5c302e362..9170f754b 100644 --- a/test/test_protocol.c +++ b/test/test_protocol.c @@ -981,7 +981,9 @@ static void do_cmd(struct peer *peer) } else if (streq(cmd, "restore")) { write_all(peer->cmddonefd, "", 1); /* Ack, then read in blob */ - read_all(peer->cmdfd, &peer->db, sizeof(peer->db)); + if (!read_all(peer->cmdfd, &peer->db, sizeof(peer->db))) { + errx(1, "Read failed for command \"restore\""); + } restore_state(peer); } else if (streq(cmd, "checksync")) { struct commit_tx ours, theirs;