aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--nis/nss_nis/nis-rpc.c4
-rw-r--r--nis/nss_nis/nis-service.c4
3 files changed, 12 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index c3d9a0b50e..9dd545dc7e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
2006-08-19 Ulrich Drepper <drepper@redhat.com>
+ * nis/nss_nis/nis-service.c (internal_nis_getservent_r): . If map
+ is empty simply return and use next service.
+ * nis/nss_nis/nis-rpc.c (internal_nis_getrpcent_r): Likewise.
+
* locale/programs/charmap.c (charmap_read): Add new parameter. It
tells us when not finding a charmap file is an error.
* locale/programs/charmap.h: Adjust charmap_read prototype.
diff --git a/nis/nss_nis/nis-rpc.c b/nis/nss_nis/nis-rpc.c
index e7049ffa9f..2fdb16ddde 100644
--- a/nis/nss_nis/nis-rpc.c
+++ b/nis/nss_nis/nis-rpc.c
@@ -117,6 +117,10 @@ internal_nis_getrpcent_r (struct rpcent *rpc, char *buffer, size_t buflen,
if (intern->start == NULL)
internal_nis_setrpcent (intern);
+ if (intern->next == NULL)
+ /* Not one entry in the map. */
+ return NSS_STATUS_NOTFOUND;
+
/* Get the next entry until we found a correct one. */
do
{
diff --git a/nis/nss_nis/nis-service.c b/nis/nss_nis/nis-service.c
index c0e064d9a4..0c176095c8 100644
--- a/nis/nss_nis/nis-service.c
+++ b/nis/nss_nis/nis-service.c
@@ -188,6 +188,10 @@ internal_nis_getservent_r (struct servent *serv, char *buffer,
if (intern.start == NULL)
internal_nis_setservent ();
+ if (intern.next == NULL)
+ /* Not one entry in the map. */
+ return NSS_STATUS_NOTFOUND;
+
/* Get the next entry until we found a correct one. */
do
{