make fseek detect and produce an error for invalid whence arguments
authorRich Felker <dalias@aerifal.cx>
Sun, 9 Jan 2022 05:33:56 +0000 (00:33 -0500)
committerRich Felker <dalias@aerifal.cx>
Sun, 9 Jan 2022 05:33:56 +0000 (00:33 -0500)
commit52f0deb96975401d9f13334dc37f907630224af7
treeaf9613d907f834ef4af453846ace727cd1ae7cb1
parentcbacd638e32a02edbe66c48ae3d1361bc06a492a
make fseek detect and produce an error for invalid whence arguments

this is a POSIX requirement. we previously relied on the underlying fd
(or other backend) seek operation to produce the error, but since
linux lseek now supports other seek modes (SEEK_DATA and SEEK_HOLE)
which do not interact well with stdio buffering, this is insufficient.
instead, explicitly check whence before performing any operations.
src/stdio/fseek.c