]> git.cameronkatri.com Git - pw-darwin.git/commitdiff
Fix for PR #3141: check for NULL before strdup()ing pw->pw_class.
authorBill Paul <wpaul@FreeBSD.org>
Sat, 29 Mar 1997 20:29:12 +0000 (20:29 +0000)
committerBill Paul <wpaul@FreeBSD.org>
Sat, 29 Mar 1997 20:29:12 +0000 (20:29 +0000)
(I'm not sure why this happens, though I suspect it may be because
the server is configured with only passwd maps instead of both passwd
and master.passwd maps. This is allowed, but I think in this case
pw_class is left NULL, hence the problem.)

Also applied similar patch to chpass/pw_yp.c just for paranoia's sake.

chpass/pw_yp.c

index 514bf7ce4bfff3a192b047bf6bbc86f52b777961..0080e85c2976093c74a4b1ec2f8a523b326465b9 100644 (file)
@@ -35,7 +35,7 @@
  * Center for Telecommunications Research
  * Columbia University, New York City
  *
- *     $Id$
+ *     $Id: pw_yp.c,v 1.9 1997/02/22 19:54:26 peter Exp $
  */
 
 #ifdef YP
@@ -441,7 +441,8 @@ void yp_submit(pw)
                master_yppasswd.newpw.pw_gecos = strdup(pw->pw_gecos);
                master_yppasswd.newpw.pw_dir = strdup(pw->pw_dir);
                master_yppasswd.newpw.pw_shell = strdup(pw->pw_shell);
-               master_yppasswd.newpw.pw_class = strdup(pw->pw_class);
+               master_yppasswd.newpw.pw_class = pw->pw_class != NULL ?
+                                               strdup(pw->pw_class) : "";
                master_yppasswd.oldpass = ""; /* not really needed */
                master_yppasswd.domain = yp_domain;
        } else {