diff options
| author | jsing <> | 2014-08-28 13:51:38 +0000 |
|---|---|---|
| committer | jsing <> | 2014-08-28 13:51:38 +0000 |
| commit | 3e0db3ee190ae2c50f82d9a4fa566ea3d2a35bc9 (patch) | |
| tree | c363324fe9ef78d66605873038082cb5a70490e4 /src | |
| parent | 16a5b99f23e5dd0395da4d496dd676b8d5832f9d (diff) | |
| download | openbsd-3e0db3ee190ae2c50f82d9a4fa566ea3d2a35bc9.tar.gz openbsd-3e0db3ee190ae2c50f82d9a4fa566ea3d2a35bc9.tar.bz2 openbsd-3e0db3ee190ae2c50f82d9a4fa566ea3d2a35bc9.zip | |
Ensure that a format option argument is a known specifier.
Diffstat (limited to 'src')
| -rw-r--r-- | src/usr.bin/openssl/apps.c | 12 |
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: |
