Remove other unnecessary BN_CTX allocations.
Functions which take a BN_CTX also accept NULL. Allocating a BN_CTX is
only useful if doing multiple operations, which we aren't.
Change-Id: Ib31113f214707cce6283e090ded0bf93ae5e7c12
Reviewed-on: https://boringssl-review.googlesource.com/6768
Reviewed-by: Adam Langley <agl@google.com>
diff --git a/ssl/s3_srvr.c b/ssl/s3_srvr.c
index cbb1418..8a573fe 100644
--- a/ssl/s3_srvr.c
+++ b/ssl/s3_srvr.c
@@ -1205,7 +1205,6 @@
uint8_t *encodedPoint = NULL;
int encodedlen = 0;
uint16_t curve_id = 0;
- BN_CTX *bn_ctx = NULL;
const char *psk_identity_hint = NULL;
size_t psk_identity_hint_len = 0;
size_t sig_len;
@@ -1333,24 +1332,20 @@
POINT_CONVERSION_UNCOMPRESSED, NULL, 0, NULL);
encodedPoint = (uint8_t *)OPENSSL_malloc(encodedlen * sizeof(uint8_t));
- bn_ctx = BN_CTX_new();
- if (encodedPoint == NULL || bn_ctx == NULL) {
+ if (encodedPoint == NULL) {
OPENSSL_PUT_ERROR(SSL, ERR_R_MALLOC_FAILURE);
goto err;
}
encodedlen = EC_POINT_point2oct(group, EC_KEY_get0_public_key(ecdh),
POINT_CONVERSION_UNCOMPRESSED,
- encodedPoint, encodedlen, bn_ctx);
+ encodedPoint, encodedlen, NULL);
if (encodedlen == 0) {
OPENSSL_PUT_ERROR(SSL, ERR_R_ECDH_LIB);
goto err;
}
- BN_CTX_free(bn_ctx);
- bn_ctx = NULL;
-
/* We only support named (not generic) curves in ECDH ephemeral key
* exchanges. In this situation, we need four additional bytes to encode
* the entire ServerECDHParams structure. */
@@ -1498,7 +1493,6 @@
ssl3_send_alert(s, SSL3_AL_FATAL, al);
err:
OPENSSL_free(encodedPoint);
- BN_CTX_free(bn_ctx);
EVP_MD_CTX_cleanup(&md_ctx);
return -1;
}
@@ -1585,7 +1579,6 @@
EC_KEY *srvr_ecdh = NULL;
EVP_PKEY *clnt_pub_pkey = NULL;
EC_POINT *clnt_ecpoint = NULL;
- BN_CTX *bn_ctx = NULL;
unsigned int psk_len = 0;
uint8_t psk[PSK_MAX_PSK_LEN];
@@ -1846,14 +1839,8 @@
goto f_err;
}
- bn_ctx = BN_CTX_new();
- if (bn_ctx == NULL) {
- OPENSSL_PUT_ERROR(SSL, ERR_R_MALLOC_FAILURE);
- goto err;
- }
-
if (!EC_POINT_oct2point(group, clnt_ecpoint, CBS_data(&ecdh_Yc),
- CBS_len(&ecdh_Yc), bn_ctx)) {
+ CBS_len(&ecdh_Yc), NULL)) {
OPENSSL_PUT_ERROR(SSL, ERR_R_EC_LIB);
goto err;
}
@@ -1886,8 +1873,6 @@
clnt_ecpoint = NULL;
EC_KEY_free(srvr_ecdh);
srvr_ecdh = NULL;
- BN_CTX_free(bn_ctx);
- bn_ctx = NULL;
EC_KEY_free(s->s3->tmp.ecdh);
s->s3->tmp.ecdh = NULL;
@@ -1958,7 +1943,6 @@
EVP_PKEY_free(clnt_pub_pkey);
EC_POINT_free(clnt_ecpoint);
EC_KEY_free(srvr_ecdh);
- BN_CTX_free(bn_ctx);
return -1;
}