aboutsummaryrefslogtreecommitdiff
path: root/crypto
diff options
context:
space:
mode:
authorDr. David von Oheimb <David.von.Oheimb@siemens.com>2021-01-08 23:18:19 +0100
committerDr. David von Oheimb <dev@ddvo.net>2021-01-20 15:59:22 +0100
commitd8ab30be9cc4d4e77008d4037e696bc41ce293f8 (patch)
tree3aaccc433ec24bb746793901bbbdf1ae50983f4d /crypto
parent05458fdb73dcca30edace5ad727a15d6d919e215 (diff)
downloadopenssl-d8ab30be9cc4d4e77008d4037e696bc41ce293f8.zip
openssl-d8ab30be9cc4d4e77008d4037e696bc41ce293f8.tar.gz
openssl-d8ab30be9cc4d4e77008d4037e696bc41ce293f8.tar.bz2
X509v3_get_ext_by_NID.pod: Add warning on counter-intuitive behavior of X509v3_delete_ext() etc.
Also simplify two uses of these functions. Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/13711)
Diffstat (limited to 'crypto')
-rw-r--r--crypto/ct/ct_sct_ctx.c5
-rw-r--r--crypto/x509/v3_conf.c8
2 files changed, 3 insertions, 10 deletions
diff --git a/crypto/ct/ct_sct_ctx.c b/crypto/ct/ct_sct_ctx.c
index a84c476..353b5a7 100644
--- a/crypto/ct/ct_sct_ctx.c
+++ b/crypto/ct/ct_sct_ctx.c
@@ -168,15 +168,12 @@ int SCT_CTX_set1_cert(SCT_CTX *sctx, X509 *cert, X509 *presigner)
* SCT.
*/
if (idx >= 0) {
- X509_EXTENSION *ext;
-
/* Take a copy of certificate so we don't modify passed version */
pretmp = X509_dup(cert);
if (pretmp == NULL)
goto err;
- ext = X509_delete_ext(pretmp, idx);
- X509_EXTENSION_free(ext);
+ X509_EXTENSION_free(X509_delete_ext(pretmp, idx));
if (!ct_x509_cert_fixup(pretmp, presigner))
goto err;
diff --git a/crypto/x509/v3_conf.c b/crypto/x509/v3_conf.c
index 740108f..9eda713 100644
--- a/crypto/x509/v3_conf.c
+++ b/crypto/x509/v3_conf.c
@@ -295,12 +295,8 @@ static void delete_ext(STACK_OF(X509_EXTENSION) *sk, X509_EXTENSION *dext)
ASN1_OBJECT *obj;
obj = X509_EXTENSION_get_object(dext);
- while ((idx = X509v3_get_ext_by_OBJ(sk, obj, -1)) >= 0) {
- X509_EXTENSION *tmpext = X509v3_get_ext(sk, idx);
-
- X509v3_delete_ext(sk, idx);
- X509_EXTENSION_free(tmpext);
- }
+ while ((idx = X509v3_get_ext_by_OBJ(sk, obj, -1)) >= 0)
+ X509_EXTENSION_free(X509v3_delete_ext(sk, idx));
}
/*