Update to OpenSSL 1.0.2.o
This commit is contained in:
@@ -1032,46 +1032,6 @@ int BN_mul(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx)
|
||||
rr->top = top;
|
||||
goto end;
|
||||
}
|
||||
# if 0
|
||||
if (i == 1 && !BN_get_flags(b, BN_FLG_STATIC_DATA)) {
|
||||
BIGNUM *tmp_bn = (BIGNUM *)b;
|
||||
if (bn_wexpand(tmp_bn, al) == NULL)
|
||||
goto err;
|
||||
tmp_bn->d[bl] = 0;
|
||||
bl++;
|
||||
i--;
|
||||
} else if (i == -1 && !BN_get_flags(a, BN_FLG_STATIC_DATA)) {
|
||||
BIGNUM *tmp_bn = (BIGNUM *)a;
|
||||
if (bn_wexpand(tmp_bn, bl) == NULL)
|
||||
goto err;
|
||||
tmp_bn->d[al] = 0;
|
||||
al++;
|
||||
i++;
|
||||
}
|
||||
if (i == 0) {
|
||||
/* symmetric and > 4 */
|
||||
/* 16 or larger */
|
||||
j = BN_num_bits_word((BN_ULONG)al);
|
||||
j = 1 << (j - 1);
|
||||
k = j + j;
|
||||
t = BN_CTX_get(ctx);
|
||||
if (al == j) { /* exact multiple */
|
||||
if (bn_wexpand(t, k * 2) == NULL)
|
||||
goto err;
|
||||
if (bn_wexpand(rr, k * 2) == NULL)
|
||||
goto err;
|
||||
bn_mul_recursive(rr->d, a->d, b->d, al, t->d);
|
||||
} else {
|
||||
if (bn_wexpand(t, k * 4) == NULL)
|
||||
goto err;
|
||||
if (bn_wexpand(rr, k * 4) == NULL)
|
||||
goto err;
|
||||
bn_mul_part_recursive(rr->d, a->d, b->d, al - j, j, t->d);
|
||||
}
|
||||
rr->top = top;
|
||||
goto end;
|
||||
}
|
||||
# endif
|
||||
}
|
||||
#endif /* BN_RECURSION */
|
||||
if (bn_wexpand(rr, top) == NULL)
|
||||
|
||||
Reference in New Issue
Block a user