summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorjsing <>2014-08-28 13:51:38 +0000
committerjsing <>2014-08-28 13:51:38 +0000
commitaf1adf7eec8c1c8de2deb4e5a6b6301520630357 (patch)
treec363324fe9ef78d66605873038082cb5a70490e4 /src
parent117cc3bed04f79845762031abb5d85453524d33e (diff)
downloadopenbsd-af1adf7eec8c1c8de2deb4e5a6b6301520630357.tar.gz
openbsd-af1adf7eec8c1c8de2deb4e5a6b6301520630357.tar.bz2
openbsd-af1adf7eec8c1c8de2deb4e5a6b6301520630357.zip
Ensure that a format option argument is a known specifier.
Diffstat (limited to 'src')
-rw-r--r--src/usr.bin/openssl/apps.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/usr.bin/openssl/apps.c b/src/usr.bin/openssl/apps.c
index f69613e586..e34aeaecba 100644
--- a/src/usr.bin/openssl/apps.c
+++ b/src/usr.bin/openssl/apps.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: apps.c,v 1.5 2014/08/28 13:39:07 jsing Exp $ */ 1/* $OpenBSD: apps.c,v 1.6 2014/08/28 13:51:38 jsing Exp $ */
2/* 2/*
3 * Copyright (c) 2014 Joel Sing <jsing@openbsd.org> 3 * Copyright (c) 2014 Joel Sing <jsing@openbsd.org>
4 * 4 *
@@ -2259,6 +2259,7 @@ options_parse(int argc, char **argv, struct option *opts, char **unnamed)
2259 char *arg, *p; 2259 char *arg, *p;
2260 int ord = 0; 2260 int ord = 0;
2261 int i, j; 2261 int i, j;
2262 int fmt;
2262 2263
2263 for (i = 1; i < argc; i++) { 2264 for (i = 1; i < argc; i++) {
2264 p = arg = argv[i]; 2265 p = arg = argv[i];
@@ -2294,7 +2295,14 @@ options_parse(int argc, char **argv, struct option *opts, char **unnamed)
2294 break; 2295 break;
2295 2296
2296 case OPTION_ARG_FORMAT: 2297 case OPTION_ARG_FORMAT:
2297 *opt->opt.value = str2fmt(argv[i]); 2298 fmt = str2fmt(argv[i]);
2299 if (fmt == FORMAT_UNDEF) {
2300 fprintf(stderr,
2301 "unknown %s '%s' for -%s\n",
2302 opt->argname, argv[i], opt->name);
2303 return (1);
2304 }
2305 *opt->opt.value = fmt;
2298 break; 2306 break;
2299 2307
2300 case OPTION_ARG_INT: 2308 case OPTION_ARG_INT: