summaryrefslogtreecommitdiffstats
path: root/crypto
diff options
context:
space:
mode:
authorMatt Caswell <matt@openssl.org>2021-04-12 15:52:05 +0100
committerPauli <pauli@openssl.org>2021-04-14 14:54:04 +1000
commit0d5bbaaae2c65ddf7a30596b61617304e0950d9c (patch)
treeadf1e29a1f20412d3abb8fd273fcce32e71a9a00 /crypto
parent89947af2c5e32ddceaeecc5f486577ad5b5f946c (diff)
Remove a TODO(3.0) from X509_PUBKEY_set
The comment talks about the EVP_PKEY that is contained within an X509_PUBKEY object and whether it has to be exactly the same as the one passed by the caller in X509_PUBKEY_set(). IMO it does, so the TODO should be dropped. Fixes #14378 Reviewed-by: Paul Dale <pauli@openssl.org> (Merged from https://github.com/openssl/openssl/pull/14845)
Diffstat (limited to 'crypto')
-rw-r--r--crypto/x509/x_pubkey.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/crypto/x509/x_pubkey.c b/crypto/x509/x_pubkey.c
index 5099f9618a..9b846a8bc2 100644
--- a/crypto/x509/x_pubkey.c
+++ b/crypto/x509/x_pubkey.c
@@ -282,14 +282,12 @@ int X509_PUBKEY_set(X509_PUBKEY **x, EVP_PKEY *pkey)
/*
* pk->pkey is NULL when using the legacy routine, but is non-NULL when
* going through the encoder, and for all intents and purposes, it's
- * a perfect copy of |pkey|, just not the same instance. In that case,
- * we could simply return early, right here.
- * However, in the interest of being cautious leaning on paranoia, some
- * application might very well depend on the passed |pkey| being used
- * and none other, so we spend a few more cycles throwing away the newly
- * created |pk->pkey| and replace it with |pkey|.
- * TODO(3.0) Investigate if it's safe to change to simply return here
- * if |pk->pkey != NULL|.
+ * a perfect copy of the public key portions of |pkey|, just not the same
+ * instance. If that's all there was to pkey then we could simply return
+ * early, right here. However, some application might very well depend on
+ * the passed |pkey| being used and none other, so we spend a few more
+ * cycles throwing away the newly created |pk->pkey| and replace it with
+ * |pkey|.
*/
if (pk->pkey != NULL)
EVP_PKEY_free(pk->pkey);