make it pass the regression test
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@24814 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -465,7 +465,7 @@ BN_CTX *
|
|||||||
BN_CTX_new(void)
|
BN_CTX_new(void)
|
||||||
{
|
{
|
||||||
struct BN_CTX *c;
|
struct BN_CTX *c;
|
||||||
c = calloc(sizeof(*c));
|
c = calloc(1, sizeof(*c));
|
||||||
return c;
|
return c;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -518,18 +518,16 @@ BN_CTX_start(BN_CTX *c)
|
|||||||
void
|
void
|
||||||
BN_CTX_end(BN_CTX *c)
|
BN_CTX_end(BN_CTX *c)
|
||||||
{
|
{
|
||||||
const size_t stack_prev = c->stack.val[c->stack.used - 1];
|
const size_t prev = c->stack.val[c->stack.used - 1];
|
||||||
const size_t stack_cur = c->stack.val[c->stack.used];
|
|
||||||
size_t i;
|
size_t i;
|
||||||
|
|
||||||
if (c->stack.used == 0)
|
if (!c->stack.used == 0)
|
||||||
abort();
|
abort();
|
||||||
|
|
||||||
for (i = stack_prev + 1; i < stack_cur; i++)
|
for (i = prev; i < c->bn.used; i++)
|
||||||
BN_clear(&c->bn.val[i]);
|
BN_clear(c->bn.val[i]);
|
||||||
|
|
||||||
c->stack.val[c->stack.used] = 0;
|
|
||||||
c->stack.used--;
|
c->stack.used--;
|
||||||
c->bn.used = stack_prev;
|
c->bn.used = prev;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user