This was passing the remaining length in but prior this length was only checked if less than point_bytes. If it was greater the recent update to l_ecc_point_from_data will cause an error return. Instead use point_bytes directly. --- ell/tls-suites.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ell/tls-suites.c b/ell/tls-suites.c index 055ee80..1c1ca07 100644 --- a/ell/tls-suites.c +++ b/ell/tls-suites.c @@ -534,7 +534,7 @@ static void tls_handle_ecdhe_server_key_xchg(struct l_tls *tls, params->curve = l_ecc_curve_from_tls_group(tls->negotiated_curve->id); params->public = l_ecc_point_from_data(params->curve, L_ECC_POINT_TYPE_FULL, - buf, len); + buf, point_bytes); tls->pending.key_xchg_params = params; buf += point_bytes; len -= point_bytes; -- 2.31.1