This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch master updated. glibc-2.18-813-g5d41dad


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  5d41dadf31bc8a2f9c34c40d52a442d3794e405c (commit)
      from  0bad441c77fa4ff382dd3990542dcf52052b2121 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=5d41dadf31bc8a2f9c34c40d52a442d3794e405c

commit 5d41dadf31bc8a2f9c34c40d52a442d3794e405c
Author: Siddhesh Poyarekar <siddhesh@redhat.com>
Date:   Fri Jan 24 13:51:15 2014 +0530

    Adjust pointers to triplets in netgroup query data (BZ #16474)
    
    The _nss_*_getnetgrent_r query populates the netgroup results in the
    allocated buffer and then sets the result triplet to point to strings
    in the buffer.  This is a problem when the buffer is reallocated since
    the pointers to the triplet strings are no longer valid.  The pointers
    need to be adjusted so that they now point to strings in the
    reallocated buffer.

diff --git a/ChangeLog b/ChangeLog
index 0f4453e..1d19695 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2013-01-24  Siddhesh Poyarekar  <siddhesh@redhat.com>
+
+	[BZ #16474]
+	* nscd/netgroupcache.c (addgetnetgrentX): Adjust triplet
+	string pointers after reallocation.
+
 2014-01-24  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
 
 	* sysdeps/unix/sysv/linux/sh/sys/ucontext.h: Use __SH4__ and
diff --git a/NEWS b/NEWS
index f4f22a8..5601403 100644
--- a/NEWS
+++ b/NEWS
@@ -25,7 +25,7 @@ Version 2.19
   16151, 16153, 16167, 16169, 16172, 16195, 16214, 16245, 16271, 16274,
   16283, 16289, 16293, 16314, 16316, 16330, 16337, 16338, 16356, 16365,
   16366, 16369, 16372, 16375, 16379, 16384, 16385, 16386, 16387, 16390,
-  16394, 16400, 16407, 16408, 16414, 16430, 16431, 16453.
+  16394, 16400, 16407, 16408, 16414, 16430, 16431, 16453, 16474.
 
 * Slovenian translations for glibc messages have been contributed by the
   Translation Project's Slovenian team of translators.
diff --git a/nscd/netgroupcache.c b/nscd/netgroupcache.c
index 58234b1..924567c 100644
--- a/nscd/netgroupcache.c
+++ b/nscd/netgroupcache.c
@@ -241,7 +241,17 @@ addgetnetgrentX (struct database_dyn *db, int fd, request_header *req,
 				if (buflen - req->key_len - bufused < needed)
 				  {
 				    buflen += MAX (buflen, 2 * needed);
-				    buffer = xrealloc (buffer, buflen);
+				    char *newbuf = xrealloc (buffer, buflen);
+				    /* Adjust the pointers in the new
+				       buffer.  */
+				    nhost = (nhost ? newbuf + (nhost - buffer)
+					     : NULL);
+				    nuser = (nuser ? newbuf + (nuser - buffer)
+					     : NULL);
+				    ndomain = (ndomain
+					       ? newbuf + (ndomain - buffer)
+					       : NULL);
+				    buffer = newbuf;
 				  }
 
 				nhost = memcpy (buffer + bufused,

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog            |    6 ++++++
 NEWS                 |    2 +-
 nscd/netgroupcache.c |   12 +++++++++++-
 3 files changed, 18 insertions(+), 2 deletions(-)


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]