diff --git a/src/tls.c b/src/tls.c index 7ef746460..e889d97a7 100644 --- a/src/tls.c +++ b/src/tls.c @@ -5988,6 +5988,11 @@ static int TLSX_KeyShare_Parse(WOLFSSL* ssl, byte* input, word16 length, if (TLSX_KeyShare_Find(ssl, group)) return BAD_KEY_SHARE_DATA; + /* Clear out unusable key shares. */ + ret = TLSX_KeyShare_Empty(ssl); + if (ret != 0) + return ret; + /* Try to use the server's group. */ ret = TLSX_KeyShare_Use(ssl, group, 0, NULL, NULL); }