From 2f62c7c77e044e6a863c7944b8a3f4febb228046 Mon Sep 17 00:00:00 2001 From: Jeffrey Altman Date: Sat, 19 Nov 2016 02:08:58 -0500 Subject: [PATCH] roken: rk_undumpdata free allocation on error Do not return allocated memory and an error code. Free it instead so as to avoid memory leaks. Change-Id: I47d42be0f6bc52062c57c00c37b665ee2f2811ce --- lib/roken/dumpdata.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/lib/roken/dumpdata.c b/lib/roken/dumpdata.c index 844360187..252744e28 100644 --- a/lib/roken/dumpdata.c +++ b/lib/roken/dumpdata.c @@ -81,14 +81,16 @@ rk_undumpdata(const char *filename, void **buf, size_t *size) sret = net_read(fd, *buf, *size); if (sret < 0) ret = errno; - else if (sret != (ssize_t)*size) { + else if (sret != (ssize_t)*size) ret = EINVAL; - free(*buf); - *buf = NULL; - } else + else ret = 0; - out: + out: + if (ret) { + free(*buf); + *buf = NULL; + } close(fd); return ret; }