Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 27 Jun 2020 09:01:31 +0000 (UTC)
From:      Piotr Pawel Stefaniak <pstef@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org
Subject:   svn commit: r362673 - stable/12/lib/libutil
Message-ID:  <202006270901.05R91VGL071445@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: pstef
Date: Sat Jun 27 09:01:30 2020
New Revision: 362673
URL: https://svnweb.freebsd.org/changeset/base/362673

Log:
  MFC r362429 and r362430:
  libutil: remove extraneous ": " from error messages
  Make vipw error message less cryptic

Modified:
  stable/12/lib/libutil/gr_util.c
  stable/12/lib/libutil/pw_util.c
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/lib/libutil/gr_util.c
==============================================================================
--- stable/12/lib/libutil/gr_util.c	Sat Jun 27 07:34:15 2020	(r362672)
+++ stable/12/lib/libutil/gr_util.c	Sat Jun 27 09:01:30 2020	(r362673)
@@ -108,11 +108,11 @@ gr_lock(void)
 			if (errno == EWOULDBLOCK) {
 				errx(1, "the group file is busy");
 			} else {
-				err(1, "could not lock the group file: ");
+				err(1, "could not lock the group file");
 			}
 		}
 		if (fstat(lockfd, &st) == -1)
-			err(1, "fstat() failed: ");
+			err(1, "fstat() failed");
 		if (st.st_nlink != 0)
 			break;
 		close(lockfd);

Modified: stable/12/lib/libutil/pw_util.c
==============================================================================
--- stable/12/lib/libutil/pw_util.c	Sat Jun 27 07:34:15 2020	(r362672)
+++ stable/12/lib/libutil/pw_util.c	Sat Jun 27 09:01:30 2020	(r362673)
@@ -181,7 +181,7 @@ pw_lock(void)
 			if (errno == EWOULDBLOCK) {
 				errx(1, "the password db file is busy");
 			} else {
-				err(1, "could not lock the passwd file: ");
+				err(1, "could not lock the passwd file");
 			}
 		}
 
@@ -191,7 +191,7 @@ pw_lock(void)
 		 * close and retry.
 		 */
 		if (fstat(lockfd, &st) == -1)
-			err(1, "fstat() failed: ");
+			err(1, "fstat() failed");
 		if (st.st_nlink != 0)
 			break;
 		close(lockfd);
@@ -308,12 +308,13 @@ pw_edit(int notsetuid)
 		sigaction(SIGQUIT, &sa_quit, NULL);
 		sigprocmask(SIG_SETMASK, &oldsigset, NULL);
 		if (notsetuid) {
-			(void)setgid(getgid());
-			(void)setuid(getuid());
+			if (setgid(getgid()) == -1)
+				err(1, "setgid");
+			if (setuid(getuid()) == -1)
+				err(1, "setuid");
 		}
-		errno = 0;
 		execlp(editor, editor, tempname, (char *)NULL);
-		_exit(errno);
+		err(1, "%s", editor);
 	default:
 		/* parent */
 		break;
@@ -327,7 +328,9 @@ pw_edit(int notsetuid)
 			break;
 		} else if (WIFSTOPPED(pstat)) {
 			raise(WSTOPSIG(pstat));
-		} else if (WIFEXITED(pstat) && WEXITSTATUS(pstat) == 0) {
+		} else if (WIFEXITED(pstat)) {
+			if (WEXITSTATUS(pstat) != 0)
+				errx(1, "\"%s\" exited with status %d", editor, WEXITSTATUS(pstat));
 			editpid = -1;
 			break;
 		} else {



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202006270901.05R91VGL071445>