diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | nscd/connections.c | 5 |
2 files changed, 9 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog index 31b25abb0a..c5ee8fc91a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2017-12-18 Joseph Myers <joseph@codesourcery.com> + + [BZ #22446] + * nscd/connections.c (handle_request) [SO_PEERCRED]: Use separate + buffers for readlink input and output. + 2017-12-18 Sergei Trofimovich <slyfox@gentoo.org> [BZ #22624] diff --git a/nscd/connections.c b/nscd/connections.c index cc1ed72077..dab722dcb2 100644 --- a/nscd/connections.c +++ b/nscd/connections.c @@ -1077,14 +1077,15 @@ cannot handle old request version %d; current version is %d"), if (debug_level > 0) { #ifdef SO_PEERCRED + char pbuf[sizeof ("/proc//exe") + 3 * sizeof (long int)]; # ifdef PATH_MAX char buf[PATH_MAX]; # else char buf[4096]; # endif - snprintf (buf, sizeof (buf), "/proc/%ld/exe", (long int) pid); - ssize_t n = readlink (buf, buf, sizeof (buf) - 1); + snprintf (pbuf, sizeof (pbuf), "/proc/%ld/exe", (long int) pid); + ssize_t n = readlink (pbuf, buf, sizeof (buf) - 1); if (n <= 0) dbg_log (_("\ |