mirror of
https://git.kernel.org/pub/scm/network/wireless/iwd.git
synced 2024-11-22 14:49:24 +01:00
sae: pass exact length to l_ecc_point_from_data
l_ecc_point_from_data now strictly enforces the buffer length.
This commit is contained in:
parent
d8116e8828
commit
26b7446178
@ -413,6 +413,7 @@ static struct l_ecc_point *sae_compute_pwe(const struct l_ecc_curve *curve,
|
||||
struct l_ecc_scalar *qnr;
|
||||
uint8_t qnr_bin[L_ECC_SCALAR_MAX_BYTES] = {0};
|
||||
struct l_ecc_point *pwe;
|
||||
unsigned int bytes = l_ecc_curve_get_scalar_bytes(curve);
|
||||
|
||||
/* create qr/qnr prior to beginning hunting-and-pecking loop */
|
||||
qr = sae_new_residue(curve, true);
|
||||
@ -493,7 +494,7 @@ static struct l_ecc_point *sae_compute_pwe(const struct l_ecc_curve *curve,
|
||||
return NULL;
|
||||
}
|
||||
|
||||
pwe = l_ecc_point_from_data(curve, !is_odd + 2, x, sizeof(x));
|
||||
pwe = l_ecc_point_from_data(curve, !is_odd + 2, x, bytes);
|
||||
if (!pwe)
|
||||
l_error("computing y failed, was x quadratic residue?");
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user