]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
* 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 0b49c6e325a7b7ee28f32132a06a1a61012c830b..043ee296154c98a68c1d99e71e9613cf5cd483c8 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 262042724386fb68aed409e2ea4b6da3dcfe26fd..8d69ad93738c8f4bdaf54287f2fa7fa4a21e1088 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 023e18f93dea8d18ab9c2928e10e8f876f0fbb2e..f5f0ac96dac3680266811905bea0549cb5ea9cf3 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 468520c937e73d1303edff49d15cede93b1d04f8..286a4ccbdcfa43449bed3ece9973d6d75ae4fc02 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 0b96153819d490d29b1dfa1b273f0e4eb78d0e77..42a2d088dadb96b8d6f64d78fc85996385923589 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 1c3faa7dc0d27c324998c9bacf2e2463884f7c88..5875bbe98d33d639b08125bc0315e90954c1337b 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 3dd9f4dde6c608472f9cbd37a2e1c0c63d31991c..51c1956e2f6c7c1e323ffa73ed9f10aa80ca38a2 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 8584300698af661bd658d3928f6bf75815ad9b1d..e63e1eeaec185636b0947e455704e722bdab916e 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);