diff --git a/crypto/ec/ec_lib.c b/crypto/ec/ec_lib.c index 990eab51aa1dccd5eb75046baa251249833ab4b2..7b02a365396eb1b7a62a16e675b8ddde70e6af66 100644 --- a/crypto/ec/ec_lib.c +++ b/crypto/ec/ec_lib.c @@ -120,6 +120,7 @@ void EC_GROUP_clear_free(EC_GROUP *group) group->meth->group_clear_finish(group); else if (group->meth != NULL && group->meth->group_finish != 0) group->meth->group_finish(group); + memset(point, 0, sizeof *group); OPENSSL_free(group); } @@ -206,6 +207,7 @@ void EC_POINT_clear_free(EC_POINT *point) point->meth->point_clear_finish(point); else if (point->meth != NULL && point->meth->point_finish != 0) point->meth->point_finish(point); + memset(point, 0, sizeof *point); OPENSSL_free(point); }