From bd9ffde61a27945abf0498b5c562f9bf0dcc6419 Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Mon, 6 May 2013 15:19:14 -0700 Subject: Move ptsname_r_chk to login/ subdir. --- ChangeLog | 7 +++++++ debug/Makefile | 5 ++++- debug/Versions | 2 +- debug/ptsname_r_chk.c | 28 ---------------------------- login/Makefile | 3 ++- login/Versions | 3 +++ login/ptsname_r_chk.c | 28 ++++++++++++++++++++++++++++ 7 files changed, 45 insertions(+), 31 deletions(-) delete mode 100644 debug/ptsname_r_chk.c create mode 100644 login/ptsname_r_chk.c diff --git a/ChangeLog b/ChangeLog index c5ec238849..b82e7783bb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,12 @@ 2013-05-06 Roland McGrath + * debug/ptsname_r_chk.c: Moved to ... + * login/ptsname_r_chk.c: ... here. + * debug/Makefile (routines): Move ptsname_r_chk to ... + * login/Makefile (routines): ... here. + * debug/Versions (libc: GLIBC_2.4): Move __ptsname_r_chk to ... + * login/Versions (libc: GLIBC_2.4): ... here. + * posix/getlogin.c: Moved to ... * login/getlogin.c: ... here. * posix/getlogin_r.c: Moved to ... diff --git a/debug/Makefile b/debug/Makefile index 55017d327c..682f14c7d3 100644 --- a/debug/Makefile +++ b/debug/Makefile @@ -22,6 +22,9 @@ subdir := debug headers := execinfo.h +# Note that ptsname_r_chk is not here but in login/Makefile instead. +# If that subdir is omitted from the build, its _FORTIFY_SOURCE +# support will be too. routines = backtrace backtracesyms backtracesymsfd noophooks \ memcpy_chk memmove_chk mempcpy_chk memset_chk stpcpy_chk \ strcat_chk strcpy_chk strncat_chk strncpy_chk stpncpy_chk \ @@ -30,7 +33,7 @@ routines = backtrace backtracesyms backtracesymsfd noophooks \ gets_chk chk_fail readonly-area fgets_chk fgets_u_chk \ read_chk pread_chk pread64_chk recv_chk recvfrom_chk \ readlink_chk readlinkat_chk getwd_chk getcwd_chk \ - realpath_chk ptsname_r_chk fread_chk fread_u_chk \ + realpath_chk fread_chk fread_u_chk \ wctomb_chk wcscpy_chk wmemcpy_chk wmemmove_chk wmempcpy_chk \ wcpcpy_chk wcsncpy_chk wcscat_chk wcsncat_chk wmemset_chk \ wcpncpy_chk \ diff --git a/debug/Versions b/debug/Versions index c1722fab20..e2b90ebed5 100644 --- a/debug/Versions +++ b/debug/Versions @@ -23,7 +23,7 @@ libc { __read_chk; __pread_chk; __pread64_chk; __readlink_chk; __getcwd_chk; __getwd_chk; __recv_chk; __recvfrom_chk; - __realpath_chk; __ptsname_r_chk; __wctomb_chk; + __realpath_chk; __wctomb_chk; __stpncpy_chk; __wcscpy_chk; __wmemcpy_chk; __wmemmove_chk; __wmempcpy_chk; __wcpcpy_chk; __wcsncpy_chk; __wcscat_chk; __wcsncat_chk; __wmemset_chk; __wcpncpy_chk; diff --git a/debug/ptsname_r_chk.c b/debug/ptsname_r_chk.c deleted file mode 100644 index 7e039acb74..0000000000 --- a/debug/ptsname_r_chk.c +++ /dev/null @@ -1,28 +0,0 @@ -/* Copyright (C) 2005-2013 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - 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 - . */ - -#include - - -int -__ptsname_r_chk (int fd, char *buf, size_t buflen, size_t nreal) -{ - if (buflen > nreal) - __chk_fail (); - - return __ptsname_r (fd, buf, buflen); -} diff --git a/login/Makefile b/login/Makefile index 4b057ec927..fa5aa71381 100644 --- a/login/Makefile +++ b/login/Makefile @@ -25,7 +25,8 @@ headers := utmp.h bits/utmp.h lastlog.h pty.h routines := getlogin getlogin_r setlogin \ getutent getutent_r getutid getutline getutid_r getutline_r \ - utmp_file utmpname updwtmp getpt grantpt unlockpt ptsname + utmp_file utmpname updwtmp getpt grantpt unlockpt ptsname \ + ptsname_r_chk CFLAGS-grantpt.c = -DLIBEXECDIR='"$(libexecdir)"' diff --git a/login/Versions b/login/Versions index 0c9e75a7ef..f4df7183d5 100644 --- a/login/Versions +++ b/login/Versions @@ -41,6 +41,9 @@ libc { # p* posix_openpt; } + GLIBC_2.4 { + __ptsname_r_chk; + } } libutil { diff --git a/login/ptsname_r_chk.c b/login/ptsname_r_chk.c new file mode 100644 index 0000000000..7e039acb74 --- /dev/null +++ b/login/ptsname_r_chk.c @@ -0,0 +1,28 @@ +/* Copyright (C) 2005-2013 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + 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 + . */ + +#include + + +int +__ptsname_r_chk (int fd, char *buf, size_t buflen, size_t nreal) +{ + if (buflen > nreal) + __chk_fail (); + + return __ptsname_r (fd, buf, buflen); +} -- cgit v1.2.3