From 955c63d3643f30d7db0c5d16e06a5eda4f62f889 Mon Sep 17 00:00:00 2001 From: Eric Engestrom Date: Wed, 1 May 2019 11:51:01 +0100 Subject: [PATCH] util/os_file: resize buffer to what was actually needed MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Fixes: 316964709e21286c2af5 "util: add os_read_file() helper" Reported-by: Jason Ekstrand Signed-off-by: Eric Engestrom Reviewed-by: Tapani Pälli Reviewed-by: Jason Ekstrand --- src/util/os_file.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/util/os_file.c b/src/util/os_file.c index a700f3aada3..756164c3dfe 100644 --- a/src/util/os_file.c +++ b/src/util/os_file.c @@ -92,6 +92,17 @@ os_read_file(const char *filename) if (actually_read > 0) offset += actually_read; + /* Final resize to actual size */ + len = offset + 1; + char *newbuf = realloc(buf, len); + if (!newbuf) { + free(buf); + close(fd); + errno = -ENOMEM; + return NULL; + } + buf = newbuf; + buf[offset] = '\0'; return buf; -- 2.30.2