diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | nis/nss_nis/nis-rpc.c | 4 | ||||
-rw-r--r-- | nis/nss_nis/nis-service.c | 4 |
3 files changed, 12 insertions, 0 deletions
@@ -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 { |