Missing BN_RECP_CTX field init.
authorFdaSilvaYY <fdasilvayy@gmail.com>
Tue, 8 Nov 2016 18:22:09 +0000 (19:22 +0100)
committerRich Salz <rsalz@openssl.org>
Tue, 8 Nov 2016 22:48:38 +0000 (17:48 -0500)
BN_RECP_CTX_new direclty use bn_init to avoid twice memset calls

Reviewed-by: Kurt Roeckx <kurt@openssl.org>
Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/1879)
(cherry picked from commit 318447bceb3aa2c50ac0081bdb4e917f8704e7da)

crypto/bn/bn_recp.c

index e532b6e668c1575bfee671fb6b061177a5b14b09..20585b9d4b8675b521b0482aff36551f5dfd413b 100644 (file)
 
 void BN_RECP_CTX_init(BN_RECP_CTX *recp)
 {
+    memset(recp, 0, sizeof(*recp));
     bn_init(&(recp->N));
     bn_init(&(recp->Nr));
-    recp->num_bits = 0;
-    recp->flags = 0;
 }
 
 BN_RECP_CTX *BN_RECP_CTX_new(void)
@@ -25,7 +24,8 @@ BN_RECP_CTX *BN_RECP_CTX_new(void)
     if ((ret = OPENSSL_zalloc(sizeof(*ret))) == NULL)
         return (NULL);
 
-    BN_RECP_CTX_init(ret);
+    bn_init(&(ret->N));
+    bn_init(&(ret->Nr));
     ret->flags = BN_FLG_MALLOCED;
     return (ret);
 }