提交 c237de05 编写于 作者: B Bodo Möller

don't write beyond buffer

Submitted by: Nils Larsch
上级 e2aeb817
...@@ -370,12 +370,16 @@ int BN_GF2m_mod_arr(BIGNUM *r, const BIGNUM *a, const unsigned int p[]) ...@@ -370,12 +370,16 @@ int BN_GF2m_mod_arr(BIGNUM *r, const BIGNUM *a, const unsigned int p[])
for (k = 1; p[k] > 0; k++) for (k = 1; p[k] > 0; k++)
{ {
BN_ULONG tmp_ulong;
/* reducing component t^p[k]*/ /* reducing component t^p[k]*/
n = p[k] / BN_BITS2; n = p[k] / BN_BITS2;
d0 = p[k] % BN_BITS2; d0 = p[k] % BN_BITS2;
d1 = BN_BITS2 - d0; d1 = BN_BITS2 - d0;
z[n] ^= (zz << d0); z[n] ^= (zz << d0);
if (d0) z[n+1] ^= (zz >> d1); tmp_ulong = zz >> d1;
if (d0 && tmp_ulong)
z[n+1] ^= tmp_ulong;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册