diff options
author | Andreas Schwab <schwab@suse.de> | 2013-11-11 12:24:42 +0100 |
---|---|---|
committer | Andreas Schwab <schwab@suse.de> | 2013-11-11 12:26:32 +0100 |
commit | 8ec3f656d6edf6f16216105131fc8b0542216a5b (patch) | |
tree | 25930564f7938815cc886d5b5d6f355a7c1f6a75 | |
parent | 43d5c02c72bdaf59a8e0d4b06f2ae87e42269cbd (diff) | |
download | glibc-8ec3f656d6edf6f16216105131fc8b0542216a5b.tar glibc-8ec3f656d6edf6f16216105131fc8b0542216a5b.tar.gz glibc-8ec3f656d6edf6f16216105131fc8b0542216a5b.tar.bz2 glibc-8ec3f656d6edf6f16216105131fc8b0542216a5b.zip |
Fix off-by-one in nscd getservbyport call
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | NEWS | 2 | ||||
-rw-r--r-- | nscd/nscd_getserv_r.c | 2 |
3 files changed, 8 insertions, 2 deletions
@@ -1,3 +1,9 @@ +2013-11-11 Andreas Schwab <schwab@suse.de> + + [BZ #16153] + * nscd/nscd_getserv_r.c (__nscd_getservbyport_r): Don't include + terminating NUL in key length. + 2013-11-08 Adhemerval Zanella <azanella@linux.vnet.ibm.com> * sysdeps/unix/sysv/linux/powerpc/bits/libc-vdso.h (VDSO_IFUNC_RET): @@ -17,7 +17,7 @@ Version 2.19 15844, 15847, 15849, 15855, 15856, 15857, 15859, 15867, 15886, 15887, 15890, 15892, 15893, 15895, 15897, 15905, 15909, 15917, 15919, 15921, 15923, 15939, 15948, 15963, 15966, 15985, 15988, 16032, 16034, 16036, - 16037, 16041, 16071, 16072, 16074, 16078, 16112. + 16037, 16041, 16071, 16072, 16074, 16078, 16112, 16153. * CVE-2012-4412 The strcoll implementation caches indices and rules for large collation sequences to optimize multiple passes. This cache diff --git a/nscd/nscd_getserv_r.c b/nscd/nscd_getserv_r.c index c9c890c63c..772825854d 100644 --- a/nscd/nscd_getserv_r.c +++ b/nscd/nscd_getserv_r.c @@ -54,7 +54,7 @@ __nscd_getservbyport_r (int port, const char *proto, portstr[sizeof (portstr) - 1] = '\0'; char *cp = _itoa_word (port, portstr + sizeof (portstr) - 1, 10, 0); - return nscd_getserv_r (cp, portstr + sizeof (portstr) - cp, proto, + return nscd_getserv_r (cp, portstr + sizeof (portstr) - 1 - cp, proto, GETSERVBYPORT, result_buf, buf, buflen, result); } |