Respect RLIMIT_FSIZE when extending a file via truncat(2)/ftruncate(2).
authormillert <millert@openbsd.org>
Mon, 23 May 2022 15:17:11 +0000 (15:17 +0000)
committermillert <millert@openbsd.org>
Mon, 23 May 2022 15:17:11 +0000 (15:17 +0000)
commit999da09776ffb248df0a9fa1fe2939d7ee8306b0
treef837acb3554f128e8f709fc8e36212b80b90950a
parent9395df6f6358dcbac4acfa747d8a52a60654ff35
Respect RLIMIT_FSIZE when extending a file via truncat(2)/ftruncate(2).
This refactors the commin parts of sys_truncate() and sys_ftruncate()
into dotruncate().  If the new size of the file is larger than the
RLIMIT_FSIZE limit _and_ the file is being extended, not truncated,
return EFBIG.  Adapted from a diff by Piotr Durlej.
With help from and OK by deraadt@ guenther@.
lib/libc/sys/truncate.2
sys/kern/vfs_syscalls.c