diff options
author | Ulrich Drepper <drepper@redhat.com> | 2005-03-01 01:20:39 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2005-03-01 01:20:39 +0000 |
commit | a0e3c9e2e8ec0147a54cbc2f628c345f9f7ddfb7 (patch) | |
tree | 8d9bae897b7deedff05662445b93d16029ac62e9 | |
parent | 87816274f4d137143a84612747c8a39b656f3730 (diff) | |
download | glibc-a0e3c9e2e8ec0147a54cbc2f628c345f9f7ddfb7.tar.gz glibc-a0e3c9e2e8ec0147a54cbc2f628c345f9f7ddfb7.tar.xz glibc-a0e3c9e2e8ec0147a54cbc2f628c345f9f7ddfb7.zip |
* debug/read_chk.c (__read_chk): Always fail if the buffer is too
small. * debug/readlink_chk.c (__readlink_chk): Likewise. * debug/pread64_chk.c (__pread64_chk): Likewise. * debug/pread_chk.c (__pread_chk): Likewise.
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | debug/read_chk.c | 4 | ||||
-rw-r--r-- | debug/readlink_chk.c | 4 |
3 files changed, 9 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog index 45915dc6e6..ac79e43fd3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -8,6 +8,11 @@ * posix/bits/unistd.h: Avoid calling __*_chk variants if we can determine the call will never trigger a failure. + * debug/read_chk.c (__read_chk): Always fail if the buffer is too + small. + * debug/readlink_chk.c (__readlink_chk): Likewise. + * debug/pread64_chk.c (__pread64_chk): Likewise. + * debug/pread_chk.c (__pread_chk): Likewise. * sysdeps/i386/i686/memset_chk.S: Remove alias and warning. * sysdeps/x86_64/memset_chk.S: Likewise. diff --git a/debug/read_chk.c b/debug/read_chk.c index f738c48d6b..da2bc945b7 100644 --- a/debug/read_chk.c +++ b/debug/read_chk.c @@ -31,8 +31,8 @@ __read_chk (int fd, void *buf, size_t nbytes, size_t buflen) __chk_fail (); #ifdef HAVE_INLINED_SYSCALLS - return = INLINE_SYSCALL (read, 3, fd, buf, nbytes); + return INLINE_SYSCALL (read, 3, fd, buf, nbytes); #else - return = __read (fd, buf, nbytes); + return __read (fd, buf, nbytes); #endif } diff --git a/debug/readlink_chk.c b/debug/readlink_chk.c index d8d61dc699..ac18ee2c29 100644 --- a/debug/readlink_chk.c +++ b/debug/readlink_chk.c @@ -31,8 +31,8 @@ __readlink_chk (const char *path, void *buf, size_t len, size_t buflen) __chk_fail (); #ifdef HAVE_INLINED_SYSCALLS - return INLINE_SYSCALL (readlink, 3, path, buf, MIN (len, buflen + 1)); + return INLINE_SYSCALL (readlink, 3, path, buf, len); #else - return __readlink (path, buf, MIN (len, buflen + 1)); + return __readlink (path, buf, len); #endif } |