summaryrefslogtreecommitdiffstats
path: root/lib/libc
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libc')
-rw-r--r--lib/libc/stdio/fseek.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/libc/stdio/fseek.c b/lib/libc/stdio/fseek.c
index 8dc36e6..5af0bac 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) {
OpenPOWER on IntegriCloud