]> git.cameronkatri.com Git - pw-darwin.git/blobdiff - libutil/login_cap.c
Re-apply r336625 which was reverted with r336638, now that the underlying
[pw-darwin.git] / libutil / login_cap.c
index 8fee76050b04177ea10a6999793390d6b7f79ec3..cea7630698af708063f6ef1b01e36a73a2abd610 100644 (file)
@@ -86,7 +86,7 @@ allocarray(size_t sz)
 
     if (sz <= internal_arraysz)
        p = internal_array;
-    else if ((p = realloc(internal_array, sz * sizeof(char*))) != NULL) {
+    else if ((p = reallocarray(internal_array, sz, sizeof(char*))) != NULL) {
        internal_arraysz = sz;
        internal_array = p;
     }
@@ -239,7 +239,7 @@ login_getclassbyname(char const *name, const struct passwd *pwd)
                break;  /* Don't retry default on 'me' */
            if (i == 0)
                r = -1;
-           else if ((r = open(login_dbarray[0], O_RDONLY)) >= 0)
+           else if ((r = open(login_dbarray[0], O_RDONLY | O_CLOEXEC)) >= 0)
                close(r);
            /*
             * If there's at least one login class database,
@@ -742,7 +742,7 @@ login_getcapsize(login_cap_t *lc, const char *cap, rlim_t def, rlim_t error)
 
 /*
  * login_getcapbool()
- * From the login_cap_t <lc>, check for the existance of the capability
+ * From the login_cap_t <lc>, check for the existence of the capability
  * of <cap>.  Return <def> if <lc>->lc_cap is NULL, otherwise return
  * the whether or not <cap> exists there.
  */