diff --git a/crypto/sm2/sm2_oct.c b/crypto/sm2/sm2_oct.c old mode 100644 new mode 100755 index 6f951e77..f9ca4cfb --- a/crypto/sm2/sm2_oct.c +++ b/crypto/sm2/sm2_oct.c @@ -274,7 +274,9 @@ SM2CiphertextValue *o2i_SM2CiphertextValue(const EC_GROUP *group, ret = cv; end: - SM2CiphertextValue_free(cv); + if ((cv != *pout) && (!ret)) + SM2CiphertextValue_free(cv); + EC_POINT_free(point); BN_CTX_free(bn_ctx); return ret;