diff options
author | Florian Weimer <fweimer@redhat.com> | 2018-08-21 11:24:12 +0200 |
---|---|---|
committer | Florian Weimer <fweimer@redhat.com> | 2018-08-21 11:24:12 +0200 |
commit | ef939d928a5b9f2d9b103b16cb7acc1d2fbcbb80 (patch) | |
tree | 0f6874cd41d4de6c64f010c1fffebc8526e43d1c | |
parent | 88ffb39dc664bfec391c4d927f8c2145141bb7f0 (diff) | |
download | glibc-ef939d928a5b9f2d9b103b16cb7acc1d2fbcbb80.tar glibc-ef939d928a5b9f2d9b103b16cb7acc1d2fbcbb80.tar.gz glibc-ef939d928a5b9f2d9b103b16cb7acc1d2fbcbb80.tar.bz2 glibc-ef939d928a5b9f2d9b103b16cb7acc1d2fbcbb80.zip |
__readlink_chk: Remove micro-optimization
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | debug/readlink_chk.c | 4 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/generic/readlink_chk.c | 33 |
3 files changed, 5 insertions, 37 deletions
@@ -1,3 +1,8 @@ +2018-08-21 Florian Weimer <fweimer@redhat.com> + + * debug/readlink_chk.c (__readlink_chk): Always call __readlink. + * sysdeps/unix/sysv/linux/generic/readlink_chk.c: Remove file. + 2018-08-20 Florian Weimer <fweimer@redhat.com> * sysdeps/unix/sysv/linux/generic/readlink_chk.c: Remove diff --git a/debug/readlink_chk.c b/debug/readlink_chk.c index c44d1d8c37..e3204004d2 100644 --- a/debug/readlink_chk.c +++ b/debug/readlink_chk.c @@ -29,9 +29,5 @@ __readlink_chk (const char *path, void *buf, size_t len, size_t buflen) if (len > buflen) __chk_fail (); -#ifdef HAVE_INLINED_SYSCALLS - return INLINE_SYSCALL (readlink, 3, path, buf, len); -#else return __readlink (path, buf, len); -#endif } diff --git a/sysdeps/unix/sysv/linux/generic/readlink_chk.c b/sysdeps/unix/sysv/linux/generic/readlink_chk.c deleted file mode 100644 index 52d1f5b522..0000000000 --- a/sysdeps/unix/sysv/linux/generic/readlink_chk.c +++ /dev/null @@ -1,33 +0,0 @@ -/* Copyright (C) 2011-2018 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - <http://www.gnu.org/licenses/>. */ - -#include <unistd.h> -#include <fcntl.h> -#include <sys/param.h> -# include <errno.h> -# include <sysdep.h> - - -ssize_t -__readlink_chk (const char *path, void *buf, size_t len, size_t buflen) -{ - if (len > buflen) - __chk_fail (); - - return INLINE_SYSCALL_CALL (readlinkat, AT_FDCWD, path, buf, len); -} |