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-branches
mailing list