chiark / gitweb /
bus-proxyd: explicitly address messages to unique and well-known name
[elogind.git] / src / nss-myhostname / nss-myhostname.c
index bf1e31113713be7e7e6289b49c02394ea9013ad5..86e7be2aa132d4ca9e9ecc8590d41e63022e6a23 100644 (file)
@@ -92,7 +92,7 @@ enum nss_status _nss_myhostname_gethostbyname4_r(
                         return NSS_STATUS_NOTFOUND;
                 }
 
-                n_addresses = local_addresses(&addresses);
+                n_addresses = local_addresses(NULL, 0, &addresses);
                 if (n_addresses < 0)
                         n_addresses = 0;
 
@@ -165,6 +165,11 @@ enum nss_status _nss_myhostname_gethostbyname4_r(
         if (ttlp)
                 *ttlp = 0;
 
+        /* Explicitly reset all error variables */
+        *errnop = 0;
+        *h_errnop = NETDB_SUCCESS;
+        h_errno = 0;
+
         return NSS_STATUS_SUCCESS;
 }
 
@@ -289,6 +294,11 @@ static enum nss_status fill_in_hostent(
         if (canonp)
                 *canonp = r_name;
 
+        /* Explicitly reset all error variables */
+        *errnop = 0;
+        *h_errnop = NETDB_SUCCESS;
+        h_errno = 0;
+
         return NSS_STATUS_SUCCESS;
 }
 
@@ -339,7 +349,7 @@ enum nss_status _nss_myhostname_gethostbyname3_r(
                         return NSS_STATUS_NOTFOUND;
                 }
 
-                n_addresses = local_addresses(&addresses);
+                n_addresses = local_addresses(NULL, 0, &addresses);
                 if (n_addresses < 0)
                         n_addresses = 0;
 
@@ -415,7 +425,7 @@ enum nss_status _nss_myhostname_gethostbyaddr2_r(
 
         }
 
-        n_addresses = local_addresses(&addresses);
+        n_addresses = local_addresses(NULL, 0, &addresses);
         if (n_addresses < 0)
                 n_addresses = 0;