X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=crypto%2Fapi.c;h=394169a8577d0643df6b9995abbfbb2049039228;hb=c7b5ebbddf7bcd3651947760f423e3783bbe6573;hp=6f0e625714bf246a57b6a640f407e02f65140b41;hpb=a2c21200f1c81b08cb55e417b68150bba439b646;p=linux-2.6.git diff --git a/crypto/api.c b/crypto/api.c index 6f0e62571..394169a85 100644 --- a/crypto/api.c +++ b/crypto/api.c @@ -155,8 +155,12 @@ out: void crypto_free_tfm(struct crypto_tfm *tfm) { + struct crypto_alg *alg = tfm->__crt_alg; + int size = sizeof(*tfm) + alg->cra_ctxsize; + crypto_exit_ops(tfm); - crypto_alg_put(tfm->__crt_alg); + crypto_alg_put(alg); + memset(tfm, 0, size); kfree(tfm); }