about summary refs log tree commit diff
path: root/inet/getnetgrent_r.c
diff options
context:
space:
mode:
authorTulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com>2016-07-11 14:16:01 -0300
committerTulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com>2016-07-11 14:16:01 -0300
commitbde2a94b61d1cef444d7d4b4b9db70062c48cf5d (patch)
tree5393a8c666de2fb8995df1282909c09ed17d9351 /inet/getnetgrent_r.c
parent3f1ff80d9a0c60398e73d62c52f9a2f06af8d61d (diff)
parent66986dec455c2011085a04b72a5bd55d9f9c7d1c (diff)
downloadglibc-bde2a94b61d1cef444d7d4b4b9db70062c48cf5d.tar.gz
glibc-bde2a94b61d1cef444d7d4b4b9db70062c48cf5d.tar.xz
glibc-bde2a94b61d1cef444d7d4b4b9db70062c48cf5d.zip
Merge branch 'release/2.19/master' into ibm/2.19/master ibm/2.19/master
Conflicts:
	NEWS
Diffstat (limited to 'inet/getnetgrent_r.c')
-rw-r--r--inet/getnetgrent_r.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/inet/getnetgrent_r.c b/inet/getnetgrent_r.c
index 62cdfda9cb..f6d064dbb5 100644
--- a/inet/getnetgrent_r.c
+++ b/inet/getnetgrent_r.c
@@ -235,6 +235,14 @@ endnetgrent (void)
 }
 
 #ifdef USE_NSCD
+static const char *
+get_nonempty_val (const char *in)
+{
+  if (*in == '\0')
+    return NULL;
+  return in;
+}
+
 static enum nss_status
 nscd_getnetgrent (struct __netgrent *datap, char *buffer, size_t buflen,
 		  int *errnop)
@@ -243,11 +251,11 @@ nscd_getnetgrent (struct __netgrent *datap, char *buffer, size_t buflen,
     return NSS_STATUS_UNAVAIL;
 
   datap->type = triple_val;
-  datap->val.triple.host = datap->cursor;
+  datap->val.triple.host = get_nonempty_val (datap->cursor);
   datap->cursor = (char *) __rawmemchr (datap->cursor, '\0') + 1;
-  datap->val.triple.user = datap->cursor;
+  datap->val.triple.user = get_nonempty_val (datap->cursor);
   datap->cursor = (char *) __rawmemchr (datap->cursor, '\0') + 1;
-  datap->val.triple.domain = datap->cursor;
+  datap->val.triple.domain = get_nonempty_val (datap->cursor);
   datap->cursor = (char *) __rawmemchr (datap->cursor, '\0') + 1;
 
   return NSS_STATUS_SUCCESS;