Mercurial > dropbear
diff bn_mp_clear.c @ 387:4663ced4968f libtommath-dropbear
propagate from branch 'au.asn.ucc.matt.ltm.orig' (head 1c2b7d389d0682caf980235dad97493e3206389c)
to branch 'au.asn.ucc.matt.ltm.dropbear' (head 40ab3795de3a6157f34e52ed3f0be3eebe9a2eaa)
author | Matt Johnston <matt@ucc.asn.au> |
---|---|
date | Thu, 11 Jan 2007 03:13:04 +0000 |
parents | 97db060d0ef5 bd240aa12ba7 |
children |
line wrap: on
line diff
--- a/bn_mp_clear.c Thu Jan 11 03:11:15 2007 +0000 +++ b/bn_mp_clear.c Thu Jan 11 03:13:04 2007 +0000 @@ -19,14 +19,17 @@ void mp_clear (mp_int * a) { - int i; + volatile mp_digit *p; + int len; /* only do anything if a hasn't been freed previously */ if (a->dp != NULL) { /* first zero the digits */ - for (i = 0; i < a->used; i++) { - a->dp[i] = 0; - } + len = a->alloc; + p = a->dp; + while (len--) { + *p++ = 0; + } /* free ram */ XFREE(a->dp);