diff options
author | Richard Levitte <levitte@openssl.org> | 2018-05-31 06:51:25 +0200 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2018-05-31 11:00:56 +0200 |
commit | 3190d1dca43ecfd748c06aa06752de06af3768b9 (patch) | |
tree | ccc578a82d06d74c8005adc65b57821985dd829e /apps | |
parent | a133883752af41ae20bcee8153bc52e8a4b522c8 (diff) |
apps: when the 'compat' nameopt has been set, leave it be
XN_FLAG_COMPAT has a unique property, its zero for value. This means
it needs special treatment; if it has been set (which can only be
determined indirectly) and set alone (*), no other flags should be
set.
(*) if any other nameopt flag has been set by the user, compatibility
mode is blown away.
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/6382)
Diffstat (limited to 'apps')
-rw-r--r-- | apps/apps.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/apps/apps.c b/apps/apps.c index d5a6aea206..2740275fe5 100644 --- a/apps/apps.c +++ b/apps/apps.c @@ -1050,7 +1050,8 @@ int set_name_ex(unsigned long *flags, const char *arg) }; if (set_multi_opts(flags, arg, ex_tbl) == 0) return 0; - if ((*flags & XN_FLAG_SEP_MASK) == 0) + if (*flags != XN_FLAG_COMPAT + && (*flags & XN_FLAG_SEP_MASK) == 0) *flags |= XN_FLAG_SEP_CPLUS_SPC; return 1; } |