+4
−4
Loading
Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more
On 32-bit systems, the buffer allocated by kernel_read_file() is too small if the file size is > SIZE_MAX, due to truncation to size_t. Fortunately, since the 'count' argument to kernel_read() is also truncated to size_t, only the allocated space is filled; then, -EIO is returned since 'pos != i_size' after the read loop. But this is not obvious and seems incidental. We should be more explicit about this case. So, fail early if i_size > SIZE_MAX. Signed-off-by:Eric Biggers <ebiggers@google.com> Signed-off-by:
Mimi Zohar <zohar@linux.ibm.com>