>From da5379205664d62b56acd8f40c405f2b91703afd Mon Sep 17 00:00:00 2001 From: Szabolcs Nagy Date: Wed, 23 Sep 2015 20:22:33 +0000 Subject: [PATCH] cosmetic fix: avoid reading uninitialized memory in __map_file The value of *size is not relevant in case of failure, but it's better not to copy garbage from the stack into it. (The compiler cannot see through the syscall, so optimization was not affected by the unspecified value). --- src/time/__map_file.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/time/__map_file.c b/src/time/__map_file.c index d06a581..b91eb8e 100644 --- a/src/time/__map_file.c +++ b/src/time/__map_file.c @@ -11,9 +11,10 @@ const char unsigned *__map_file(const char *pathname, size_t *size) const unsigned char *map = MAP_FAILED; int fd = __sys_open(pathname, O_RDONLY|O_CLOEXEC|O_NONBLOCK); if (fd < 0) return 0; - if (!__syscall(SYS_fstat, fd, &st)) + if (!__syscall(SYS_fstat, fd, &st)) { map = __mmap(0, st.st_size, PROT_READ, MAP_SHARED, fd, 0); + *size = st.st_size; + } __syscall(SYS_close, fd); - *size = st.st_size; return map == MAP_FAILED ? 0 : map; } -- 2.4.1