diff options
author | Kenny Root <kroot@google.com> | 2015-11-05 20:20:47 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2015-11-05 20:20:47 +0000 |
commit | 9659931bf7d197c3ab757604b3ca730aeac2129f (patch) | |
tree | 24150183cfed2ad79eb2258cf525b4fc4544bd2d /src/crypto/bn/montgomery.c | |
parent | 307714c70648c5d1caa23193f59a78f2ff72d2ea (diff) | |
parent | 03bcf618b7ed811b305845461fbb5497dfe55ac3 (diff) | |
download | external_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.c | 18 |
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) { |