From 36f9a46318b94e2e35deb616e40961db0af1b8be Mon Sep 17 00:00:00 2001 From: Sean Parkinson Date: Mon, 10 Aug 2020 11:08:33 +1000 Subject: [PATCH] Check return of write gcc on Linux warns when the return value of write is not checked. --- ecc/ecc-export-Qx-Qy.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/ecc/ecc-export-Qx-Qy.c b/ecc/ecc-export-Qx-Qy.c index 2daa49cf..a5b433c1 100644 --- a/ecc/ecc-export-Qx-Qy.c +++ b/ecc/ecc-export-Qx-Qy.c @@ -46,6 +46,8 @@ int main(int argc, char *argv[]) uint32_t qxlen = POINT_SIZE, qylen = POINT_SIZE; word32 idx = 0; ecc_key ec; + uint32_t len; + if (argc != 3) { fprintf(stderr, "Usage: %s der_key_file raw_key_file\n", argv[0]); exit(1); @@ -77,8 +79,16 @@ int main(int argc, char *argv[]) perror("opening output file"); exit(5); } - write(fd_out, Qx, qxlen); - write(fd_out, Qy, qylen); + len = (uint32_t)write(fd_out, Qx, qxlen); + if (len != qxlen) { + perror("write Qx - short"); + exit(6); + } + len = write(fd_out, Qy, qylen); + if (len != qylen) { + perror("write Qy - short"); + exit(7); + } close(fd_out); return 0; }