git: 6234a0bfc863 - main - usr.sbin/uefisign: prevent specifying certificate, key or output multiple times.
Xin LI
delphij at FreeBSD.org
Sun Mar 21 17:14:20 UTC 2021
The branch main has been updated by delphij:
URL: https://cgit.FreeBSD.org/src/commit/?id=6234a0bfc8630fc556295812c15d72bde0f6427a
commit 6234a0bfc8630fc556295812c15d72bde0f6427a
Author: Xin LI <delphij at FreeBSD.org>
AuthorDate: 2021-03-21 17:12:34 +0000
Commit: Xin LI <delphij at FreeBSD.org>
CommitDate: 2021-03-21 17:12:34 +0000
usr.sbin/uefisign: prevent specifying certificate, key or output
multiple times.
MFC after: 1 month
---
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