diff options
| author | Andrey A. Chernov <ache@FreeBSD.org> | 2001-08-17 10:22:03 +0000 |
|---|---|---|
| committer | Andrey A. Chernov <ache@FreeBSD.org> | 2001-08-17 10:22:03 +0000 |
| commit | b98ba4224b53864c7e3282a953cbdcc94581bed5 (patch) | |
| tree | 01e0df89c66a7039f4bf72cb9cdb2e6f51284815 /lib/libc/stdio | |
| parent | 68ce9bfb1019461c9b53b519655b2230aa93b49e (diff) | |
Notes
Diffstat (limited to 'lib/libc/stdio')
| -rw-r--r-- | lib/libc/stdio/fseek.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/libc/stdio/fseek.c b/lib/libc/stdio/fseek.c index 8dc36e67d9b1..5af0bac848d8 100644 --- a/lib/libc/stdio/fseek.c +++ b/lib/libc/stdio/fseek.c @@ -155,6 +155,10 @@ _fseeko(fp, offset, whence, ltest) errno = EINVAL; return (EOF); } + if (ltest && offset > LONG_MAX) { + errno = EOVERFLOW; + return (EOF); + } whence = SEEK_SET; havepos = 1; break; @@ -219,6 +223,10 @@ _fseeko(fp, offset, whence, ltest) errno = EINVAL; return (EOF); } + if (ltest && (off_t)target > LONG_MAX) { + errno = EOVERFLOW; + return (EOF); + } } if (!havepos) { |
