* nis/nss_nisplus/nisplus-ethers.c: Add missing null pointer check.
authorUlrich Drepper <drepper@redhat.com>
Sun, 30 Apr 2006 05:45:15 +0000 (05:45 +0000)
committerUlrich Drepper <drepper@redhat.com>
Sun, 30 Apr 2006 05:45:15 +0000 (05:45 +0000)
* nis/nss_nisplus/nisplus-hosts.c: Likewise.
* nis/nss_nisplus/nisplus-network.c: Likewise.
* nis/nss_nisplus/nisplus-proto.c: Likewise.
* nis/nss_nisplus/nisplus-rpc.c: Likewise.
* nis/nss_nisplus/nisplus-service.c: Likewise.
* nis/nss_nisplus/nisplus-spwd.c: Likewise.

ChangeLog
nis/nss_nisplus/nisplus-ethers.c
nis/nss_nisplus/nisplus-hosts.c
nis/nss_nisplus/nisplus-network.c
nis/nss_nisplus/nisplus-proto.c
nis/nss_nisplus/nisplus-rpc.c
nis/nss_nisplus/nisplus-service.c
nis/nss_nisplus/nisplus-spwd.c

index 0b49c6e..043ee29 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
 2006-04-29  Ulrich Drepper  <drepper@redhat.com>
 
+       * nis/nss_nisplus/nisplus-ethers.c: Add missing null pointer check.
+       * nis/nss_nisplus/nisplus-hosts.c: Likewise.
+       * nis/nss_nisplus/nisplus-network.c: Likewise.
+       * nis/nss_nisplus/nisplus-proto.c: Likewise.
+       * nis/nss_nisplus/nisplus-rpc.c: Likewise.
+       * nis/nss_nisplus/nisplus-service.c: Likewise.
+       * nis/nss_nisplus/nisplus-spwd.c: Likewise.
+
        * nis/nisplus-parser.h (_nss_nisplus_parse_pwent): Add entry
        parameter.
        (_nss_nisplus_parse_pwent_chk): New prototype.
index 2620427..8d69ad9 100644 (file)
@@ -176,6 +176,11 @@ internal_nisplus_getetherent_r (struct etherent *ether, char *buffer,
        {
          saved_result = NULL;
          result = nis_first_entry (tablename_val);
+         if (result == NULL)
+           {
+             *errnop = errno;
+             return NSS_STATUS_TRYAGAIN;
+           }
          if (niserr2nss (result->status) != NSS_STATUS_SUCCESS)
            return niserr2nss (result->status);
        }
@@ -183,6 +188,11 @@ internal_nisplus_getetherent_r (struct etherent *ether, char *buffer,
        {
          saved_result = result;
          result = nis_next_entry (tablename_val, &result->cookie);
+         if (result == NULL)
+           {
+             *errnop = errno;
+             return NSS_STATUS_TRYAGAIN;
+           }
          if (niserr2nss (result->status) != NSS_STATUS_SUCCESS)
            {
              nis_freeresult (saved_result);
index 023e18f..f5f0ac9 100644 (file)
@@ -265,6 +265,11 @@ internal_nisplus_gethostent_r (struct hostent *host, char *buffer,
            }
 
          result = nis_first_entry (tablename_val);
+         if (result == NULL)
+           {
+             *errnop = errno;
+             return NSS_STATUS_TRYAGAIN;
+           }
          if (niserr2nss (result->status) != NSS_STATUS_SUCCESS)
             {
               enum nss_status retval = niserr2nss (result->status);
@@ -279,11 +284,13 @@ internal_nisplus_gethostent_r (struct hostent *host, char *buffer,
        }
       else
        {
-         nis_result *res2;
-
          saved_res = result;
-         res2 = nis_next_entry(tablename_val, &result->cookie);
-         result = res2;
+         result = nis_next_entry (tablename_val, &result->cookie);
+         if (result == NULL)
+           {
+             *errnop = errno;
+             return NSS_STATUS_TRYAGAIN;
+           }
          if (niserr2nss (result->status) != NSS_STATUS_SUCCESS)
             {
               enum nss_status retval= niserr2nss (result->status);
index 468520c..286a4cc 100644 (file)
@@ -232,6 +232,11 @@ internal_nisplus_getnetent_r (struct netent *network, char *buffer,
            }
 
          result = nis_first_entry (tablename_val);
+         if (result == NULL)
+           {
+             *errnop = errno;
+             return NSS_STATUS_TRYAGAIN;
+           }
          if (niserr2nss (result->status) != NSS_STATUS_SUCCESS)
            {
              int retval = niserr2nss (result->status);
@@ -249,9 +254,13 @@ internal_nisplus_getnetent_r (struct netent *network, char *buffer,
        }
       else
        {
-         nis_result *res = nis_next_entry (tablename_val, &result->cookie);
          saved_res = result;
-         result = res;
+         result = nis_next_entry (tablename_val, &result->cookie);
+         if (result == NULL)
+           {
+             *errnop = errno;
+             return NSS_STATUS_TRYAGAIN;
+           }
          if (niserr2nss (result->status) != NSS_STATUS_SUCCESS)
            {
              int retval = niserr2nss (result->status);
index 0b96153..42a2d08 100644 (file)
@@ -227,6 +227,11 @@ internal_nisplus_getprotoent_r (struct protoent *proto, char *buffer,
            }
 
          result = nis_first_entry (tablename_val);
+         if (result == NULL)
+           {
+             *errnop = errno;
+             return NSS_STATUS_TRYAGAIN;
+           }
          if (niserr2nss (result->status) != NSS_STATUS_SUCCESS)
            return niserr2nss (result->status);
        }
@@ -234,7 +239,11 @@ internal_nisplus_getprotoent_r (struct protoent *proto, char *buffer,
        {
          saved_res = result;
          result = nis_next_entry (tablename_val, &result->cookie);
-
+         if (result == NULL)
+           {
+             *errnop = errno;
+             return NSS_STATUS_TRYAGAIN;
+           }
          if (niserr2nss (result->status) != NSS_STATUS_SUCCESS)
            {
              nis_freeresult (saved_res);
index 1c3faa7..5875bbe 100644 (file)
@@ -229,6 +229,11 @@ internal_nisplus_getrpcent_r (struct rpcent *rpc, char *buffer,
            }
 
          result = nis_first_entry (tablename_val);
+         if (result == NULL)
+           {
+             *errnop = errno;
+             return NSS_STATUS_TRYAGAIN;
+           }
          if (niserr2nss (result->status) != NSS_STATUS_SUCCESS)
            return niserr2nss (result->status);
        }
@@ -236,6 +241,11 @@ internal_nisplus_getrpcent_r (struct rpcent *rpc, char *buffer,
        {
          saved_res = result;
          result = nis_next_entry (tablename_val, &result->cookie);
+         if (result == NULL)
+           {
+             *errnop = errno;
+             return NSS_STATUS_TRYAGAIN;
+           }
          if (niserr2nss (result->status) != NSS_STATUS_SUCCESS)
            {
              nis_freeresult (saved_res);
index 3dd9f4d..51c1956 100644 (file)
@@ -234,6 +234,11 @@ internal_nisplus_getservent_r (struct servent *serv, char *buffer,
            }
 
          result = nis_first_entry (tablename_val);
+         if (result == NULL)
+           {
+             *errnop = errno;
+             return NSS_STATUS_TRYAGAIN;
+           }
          if (niserr2nss (result->status) != NSS_STATUS_SUCCESS)
            return niserr2nss (result->status);
        }
@@ -241,6 +246,11 @@ internal_nisplus_getservent_r (struct servent *serv, char *buffer,
        {
          saved_res = result;
          result = nis_next_entry (tablename_val, &result->cookie);
+         if (result == NULL)
+           {
+             *errnop = errno;
+             return NSS_STATUS_TRYAGAIN;
+           }
          if (niserr2nss (result->status) != NSS_STATUS_SUCCESS)
            {
              nis_freeresult (saved_res);
index 8584300..e63e1ee 100644 (file)
@@ -99,6 +99,11 @@ internal_nisplus_getspent_r (struct spwd *sp, char *buffer, size_t buflen,
            }
 
          result = nis_first_entry (pwd_tablename_val);
+         if (result == NULL)
+           {
+             *errnop = errno;
+             return NSS_STATUS_TRYAGAIN;
+           }
          if (niserr2nss (result->status) != NSS_STATUS_SUCCESS)
            return niserr2nss (result->status);
        }
@@ -106,6 +111,11 @@ internal_nisplus_getspent_r (struct spwd *sp, char *buffer, size_t buflen,
        {
          saved_res = result;
          result = nis_next_entry (pwd_tablename_val, &result->cookie);
+         if (result == NULL)
+           {
+             *errnop = errno;
+             return NSS_STATUS_TRYAGAIN;
+           }
          if (niserr2nss (result->status) != NSS_STATUS_SUCCESS)
            {
              nis_freeresult (saved_res);