summaryrefslogtreecommitdiffstats
path: root/src/crypto/bn/montgomery.c
diff options
context:
space:
mode:
authorKenny Root <kroot@google.com>2015-11-05 20:20:47 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2015-11-05 20:20:47 +0000
commit9659931bf7d197c3ab757604b3ca730aeac2129f (patch)
tree24150183cfed2ad79eb2258cf525b4fc4544bd2d /src/crypto/bn/montgomery.c
parent307714c70648c5d1caa23193f59a78f2ff72d2ea (diff)
parent03bcf618b7ed811b305845461fbb5497dfe55ac3 (diff)
downloadexternal_boringssl-9659931bf7d197c3ab757604b3ca730aeac2129f.zip
external_boringssl-9659931bf7d197c3ab757604b3ca730aeac2129f.tar.gz
external_boringssl-9659931bf7d197c3ab757604b3ca730aeac2129f.tar.bz2
Merge "Revert "external/boringssl: sync with upstream.""
Diffstat (limited to 'src/crypto/bn/montgomery.c')
-rw-r--r--src/crypto/bn/montgomery.c18
1 files changed, 12 insertions, 6 deletions
diff --git a/src/crypto/bn/montgomery.c b/src/crypto/bn/montgomery.c
index 3fec7e3..c6c9c88 100644
--- a/src/crypto/bn/montgomery.c
+++ b/src/crypto/bn/montgomery.c
@@ -130,14 +130,18 @@ BN_MONT_CTX *BN_MONT_CTX_new(void) {
return NULL;
}
- memset(ret, 0, sizeof(BN_MONT_CTX));
- BN_init(&ret->RR);
- BN_init(&ret->N);
- BN_init(&ret->Ni);
-
+ BN_MONT_CTX_init(ret);
+ ret->flags = BN_FLG_MALLOCED;
return ret;
}
+void BN_MONT_CTX_init(BN_MONT_CTX *mont) {
+ memset(mont, 0, sizeof(BN_MONT_CTX));
+ BN_init(&mont->RR);
+ BN_init(&mont->N);
+ BN_init(&mont->Ni);
+}
+
void BN_MONT_CTX_free(BN_MONT_CTX *mont) {
if (mont == NULL) {
return;
@@ -146,7 +150,9 @@ void BN_MONT_CTX_free(BN_MONT_CTX *mont) {
BN_free(&mont->RR);
BN_free(&mont->N);
BN_free(&mont->Ni);
- OPENSSL_free(mont);
+ if (mont->flags & BN_FLG_MALLOCED) {
+ OPENSSL_free(mont);
+ }
}
BN_MONT_CTX *BN_MONT_CTX_copy(BN_MONT_CTX *to, BN_MONT_CTX *from) {