git: abc1489bcb55 - stable/13 - usr.sbin/uefisign: prevent specifying certificate, key or output multiple times.

Xin LI delphij at FreeBSD.org
Tue Apr 20 01:01:35 UTC 2021


The branch stable/13 has been updated by delphij:

URL: https://cgit.FreeBSD.org/src/commit/?id=abc1489bcb55698028585d7667166a4a4192e298

commit abc1489bcb55698028585d7667166a4a4192e298
Author:     Xin LI <delphij at FreeBSD.org>
AuthorDate: 2021-03-21 17:12:34 +0000
Commit:     Xin LI <delphij at FreeBSD.org>
CommitDate: 2021-04-20 00:59:58 +0000

    usr.sbin/uefisign: prevent specifying certificate, key or output
    multiple times.
    
    (cherry picked from commit 6234a0bfc8630fc556295812c15d72bde0f6427a)
---
 usr.sbin/uefisign/uefisign.c | 19 ++++++++++++++-----
 1 file changed, 14 insertions(+), 5 deletions(-)

diff --git a/usr.sbin/uefisign/uefisign.c b/usr.sbin/uefisign/uefisign.c
index aa2a7621998d..149e90ba0e67 100644
--- a/usr.sbin/uefisign/uefisign.c
+++ b/usr.sbin/uefisign/uefisign.c
@@ -350,13 +350,22 @@ main(int argc, char **argv)
 			Vflag = true;
 			break;
 		case 'c':
-			certpath = checked_strdup(optarg);
+			if (certpath == NULL)
+				certpath = checked_strdup(optarg);
+			else
+				err(1, "-c can only be specified once");
 			break;
 		case 'k':
-			keypath = checked_strdup(optarg);
+			if (keypath == NULL)
+				keypath = checked_strdup(optarg);
+			else
+				err(1, "-k can only be specified once");
 			break;
 		case 'o':
-			outpath = checked_strdup(optarg);
+			if (outpath == NULL)
+				outpath = checked_strdup(optarg);
+			else
+				err(1, "-o can only be specified once");
 			break;
 		case 'v':
 			vflag = true;
@@ -402,7 +411,7 @@ main(int argc, char **argv)
 		err(1, "fork");
 
 	if (pid == 0)
-		return (child(inpath, outpath, pipefds[1], Vflag, vflag));
+		exit(child(inpath, outpath, pipefds[1], Vflag, vflag));
 
 	if (!Vflag) {
 		certfp = checked_fopen(certpath, "r");
@@ -422,5 +431,5 @@ main(int argc, char **argv)
 		sign(cert, key, pipefds[0]);
 	}
 
-	return (wait_for_child(pid));
+	exit(wait_for_child(pid));
 }


More information about the dev-commits-src-all mailing list