Skip to content

Commit

Permalink
* debug/read_chk.c (__read_chk): Always fail if the buffer is too
Browse files Browse the repository at this point in the history
	small.
	* debug/readlink_chk.c (__readlink_chk): Likewise.
	* debug/pread64_chk.c (__pread64_chk): Likewise.
	* debug/pread_chk.c (__pread_chk): Likewise.
  • Loading branch information
Ulrich Drepper committed Mar 1, 2005
1 parent 8781627 commit a0e3c9e
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 4 deletions.
5 changes: 5 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
4 changes: 2 additions & 2 deletions debug/read_chk.c
Original file line number Diff line number Diff line change
Expand Up @@ -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
}
4 changes: 2 additions & 2 deletions debug/readlink_chk.c
Original file line number Diff line number Diff line change
Expand Up @@ -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
}

0 comments on commit a0e3c9e

Please sign in to comment.