=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/su/su.c,v retrieving revision 1.75 retrieving revision 1.76 diff -c -r1.75 -r1.76 *** src/usr.bin/su/su.c 2019/06/20 00:41:18 1.75 --- src/usr.bin/su/su.c 2019/06/28 13:35:04 1.76 *************** *** 1,4 **** ! /* $OpenBSD: su.c,v 1.75 2019/06/20 00:41:18 deraadt Exp $ */ /* * Copyright (c) 1988 The Regents of the University of California. --- 1,4 ---- ! /* $OpenBSD: su.c,v 1.76 2019/06/28 13:35:04 deraadt Exp $ */ /* * Copyright (c) 1988 The Regents of the University of California. *************** *** 270,276 **** seteuid(pwd->pw_uid); homeless = chdir(pwd->pw_dir); ! if (homeless) { if (login_getcapbool(lc, "requirehome", 0)) { auth_err(as, 1, "%s", pwd->pw_dir); } else { --- 270,276 ---- seteuid(pwd->pw_uid); homeless = chdir(pwd->pw_dir); ! if (homeless == -1) { if (login_getcapbool(lc, "requirehome", 0)) { auth_err(as, 1, "%s", pwd->pw_dir); } else { *************** *** 278,284 **** err(1, "unveil"); printf("No home directory %s!\n", pwd->pw_dir); printf("Logging in with home = \"/\".\n"); ! if (chdir("/") < 0) auth_err(as, 1, "/"); } } --- 278,284 ---- err(1, "unveil"); printf("No home directory %s!\n", pwd->pw_dir); printf("Logging in with home = \"/\".\n"); ! if (chdir("/") == -1) auth_err(as, 1, "/"); } }