mirror of
https://git.musl-libc.org/git/musl
synced 2025-01-23 22:52:23 +03:00
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).
This commit is contained in:
parent
4260dfe1ec
commit
bd275378d3
@ -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;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user