-
lseek - integer overflow · 8737e2a8Lukasz Jagiello authored
The issue was introduced in PR (https://github.com/lxc/lxc/pull/1705): Previous code: ``` if (lseek(fd, size, SEEK_SET) < 0) { SYSERROR("Error seeking to set new loop file size"); close(fd); return -1; } ``` New code: ``` int fd, ret; [...] ret = lseek(fd, size, SEEK_SET); if (ret < 0) { SYSERROR("Failed to seek to set new loop file size for loop " "file \"%s\"", path); close(fd); return -1; } ``` Based on http://man7.org/linux/man-pages/man2/lseek.2.html: > Upon successful completion, lseek() returns the resulting offset > location as measured in bytes from the beginning of the file. So in this case value of `size` and `size` is `uint64_t`. This fix change declaration of `ret`, but it can be fixed in other ways. Let me know what works for you. This PR fix issues (https://github.com/lxc/lxc/issues/1872). Signed-off-by:
Lukasz Jagiello <lukasz@wikia-inc.com>
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| include | Loading commit data... | |
| lxc | Loading commit data... | |
| tests | Loading commit data... | |
| Makefile.am | Loading commit data... |