mirror of https://github.com/openssl/openssl.git
Iterate over EC_GROUP's poly array in a safe way
Prevent that memory beyond the last element is accessed if every element of group->poly[] is non-zero Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Rich Salz <rsalz@openssl.org> (Merged from https://github.com/openssl/openssl/pull/2689)
This commit is contained in:
parent
5c80e2af3a
commit
57f48f939e
|
|
@ -15,15 +15,18 @@
|
|||
|
||||
int EC_GROUP_get_basis_type(const EC_GROUP *group)
|
||||
{
|
||||
int i = 0;
|
||||
int i;
|
||||
|
||||
if (EC_METHOD_get_field_type(EC_GROUP_method_of(group)) !=
|
||||
NID_X9_62_characteristic_two_field)
|
||||
/* everything else is currently not supported */
|
||||
return 0;
|
||||
|
||||
while (group->poly[i] != 0)
|
||||
i++;
|
||||
/* Find the last non-zero element of group->poly[] */
|
||||
for (i = 0;
|
||||
i < (int)OSSL_NELEM(group->poly) & group->poly[i] != 0;
|
||||
i++)
|
||||
continue;
|
||||
|
||||
if (i == 4)
|
||||
return NID_X9_62_ppBasis;
|
||||
|
|
|
|||
Loading…
Reference in New Issue