summaryrefslogtreecommitdiffstats
path: root/apps/apps.c
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2018-05-31 06:51:25 +0200
committerRichard Levitte <levitte@openssl.org>2018-05-31 11:00:56 +0200
commit3190d1dca43ecfd748c06aa06752de06af3768b9 (patch)
treeccc578a82d06d74c8005adc65b57821985dd829e /apps/apps.c
parenta133883752af41ae20bcee8153bc52e8a4b522c8 (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/apps.c')
-rw-r--r--apps/apps.c3
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;
}