diff options
author | kinichiro <kinichiro.inoguchi@gmail.com> | 2019-12-05 20:00:50 +0900 |
---|---|---|
committer | Tomas Mraz <tmraz@fedoraproject.org> | 2019-12-16 15:05:35 +0100 |
commit | 1aeec3dbc2d62f902698b1eba9ed31cbd436f9dc (patch) | |
tree | be8e908f0a58b4f79c322cb89282937851e18a2b /apps/req.c | |
parent | 146113827135b4c646531a48f388e43add6ff871 (diff) |
Return 1 when openssl req -addext kv is duplicated
CLA: trivial
Fixes #10273
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/10578)
Diffstat (limited to 'apps/req.c')
-rw-r--r-- | apps/req.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/apps/req.c b/apps/req.c index 76bbbeb555..87994ceb7c 100644 --- a/apps/req.c +++ b/apps/req.c @@ -214,9 +214,12 @@ static int duplicated(LHASH_OF(OPENSSL_STRING) *addexts, char *kv) *p = '\0'; /* Finally have a clean "key"; see if it's there [by attempt to add it]. */ - if ((p = (char *)lh_OPENSSL_STRING_insert(addexts, (OPENSSL_STRING*)kv)) - != NULL || lh_OPENSSL_STRING_error(addexts)) { - OPENSSL_free(p != NULL ? p : kv); + p = (char *)lh_OPENSSL_STRING_insert(addexts, (OPENSSL_STRING*)kv); + if (p != NULL) { + OPENSSL_free(p); + return 1; + } else if (lh_OPENSSL_STRING_error(addexts)) { + OPENSSL_free(kv); return -1; } |