free NULL cleanup 7
This gets BN_.*free:
BN_BLINDING_free BN_CTX_free BN_FLG_FREE BN_GENCB_free
BN_MONT_CTX_free BN_RECP_CTX_free BN_clear_free BN_free BUF_MEM_free
Also fix a call to DSA_SIG_free to ccgost engine and remove some #ifdef'd
dead code in engines/e_ubsec.
Reviewed-by: Richard Levitte <levitte@openssl.org>
This commit is contained in:
@@ -223,28 +223,22 @@ static int ecdsa_sign_setup(EC_KEY *eckey, BN_CTX *ctx_in,
|
||||
}
|
||||
|
||||
/* clear old values if necessary */
|
||||
if (*rp != NULL)
|
||||
BN_clear_free(*rp);
|
||||
if (*kinvp != NULL)
|
||||
BN_clear_free(*kinvp);
|
||||
BN_clear_free(*rp);
|
||||
BN_clear_free(*kinvp);
|
||||
/* save the pre-computed values */
|
||||
*rp = r;
|
||||
*kinvp = k;
|
||||
ret = 1;
|
||||
err:
|
||||
if (!ret) {
|
||||
if (k != NULL)
|
||||
BN_clear_free(k);
|
||||
if (r != NULL)
|
||||
BN_clear_free(r);
|
||||
BN_clear_free(k);
|
||||
BN_clear_free(r);
|
||||
}
|
||||
if (ctx_in == NULL)
|
||||
if (ctx != ctx_in)
|
||||
BN_CTX_free(ctx);
|
||||
if (order != NULL)
|
||||
BN_free(order);
|
||||
BN_free(order);
|
||||
EC_POINT_free(tmp_point);
|
||||
if (X)
|
||||
BN_clear_free(X);
|
||||
BN_clear_free(X);
|
||||
return (ret);
|
||||
}
|
||||
|
||||
@@ -351,16 +345,11 @@ static ECDSA_SIG *ecdsa_do_sign(const unsigned char *dgst, int dgst_len,
|
||||
ECDSA_SIG_free(ret);
|
||||
ret = NULL;
|
||||
}
|
||||
if (ctx)
|
||||
BN_CTX_free(ctx);
|
||||
if (m)
|
||||
BN_clear_free(m);
|
||||
if (tmp)
|
||||
BN_clear_free(tmp);
|
||||
if (order)
|
||||
BN_free(order);
|
||||
if (kinv)
|
||||
BN_clear_free(kinv);
|
||||
BN_CTX_free(ctx);
|
||||
BN_clear_free(m);
|
||||
BN_clear_free(tmp);
|
||||
BN_free(order);
|
||||
BN_clear_free(kinv);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user