allocate space for pw_name; bug report 4.3BSD-tahoe/usr.sbin/10
authorKeith Bostic <bostic@ucbvax.Berkeley.EDU>
Fri, 20 Apr 1990 07:55:33 +0000 (23:55 -0800)
committerKeith Bostic <bostic@ucbvax.Berkeley.EDU>
Fri, 20 Apr 1990 07:55:33 +0000 (23:55 -0800)
SCCS-vsn: usr.sbin/sendmail/src/conf.c 5.25

usr/src/usr.sbin/sendmail/src/conf.c

index ba13ded..e40c162 100644 (file)
@@ -17,7 +17,7 @@
  */
 
 #ifndef lint
  */
 
 #ifndef lint
-static char sccsid[] = "@(#)conf.c     5.24 (Berkeley) %G%";
+static char sccsid[] = "@(#)conf.c     5.25 (Berkeley) %G%";
 #endif /* not lint */
 
 # include <sys/ioctl.h>
 #endif /* not lint */
 
 # include <sys/ioctl.h>
@@ -233,17 +233,18 @@ username()
 
                        pw = getpwuid(getruid());
                        if (pw != NULL)
 
                        pw = getpwuid(getruid());
                        if (pw != NULL)
-                               myname = pw->pw_name;
+                               myname = newstr(pw->pw_name);
                }
                else
                {
 
                }
                else
                {
 
-                       pw = getpwnam(myname);
-                       if(getuid() != pw->pw_uid)
+                       myname = newstr(myname);
+                       if ((pw = getpwnam(myname)) == NULL ||
+                             getuid() != pw->pw_uid)
                        {
                                pw = getpwuid(getuid());
                                if (pw != NULL)
                        {
                                pw = getpwuid(getuid());
                                if (pw != NULL)
-                                       myname = pw->pw_name;
+                                       myname = newstr(pw->pw_name);
                        }
                }
                if (myname == NULL || myname[0] == '\0')
                        }
                }
                if (myname == NULL || myname[0] == '\0')