diff --git a/interfaces/innerkits/appverify/src/provision/provision_verify.cpp b/interfaces/innerkits/appverify/src/provision/provision_verify.cpp index 614a5f321e95b39c0f195ea34f20926d2e59fa0b..38f70c1a3a53dda5df5b9f9684270ce9c7789d11 100644 --- a/interfaces/innerkits/appverify/src/provision/provision_verify.cpp +++ b/interfaces/innerkits/appverify/src/provision/provision_verify.cpp @@ -273,6 +273,7 @@ AppProvisionVerifyResult ParseProvision(const std::string& appProvision, Provisi { cJSON* obj = cJSON_Parse(appProvision.c_str()); if (obj == NULL || !cJSON_IsObject(obj)) { + cJSON_Delete(obj); return PROVISION_INVALID; } from_json(obj, info); @@ -386,6 +387,7 @@ AppProvisionVerifyResult ParseProfile(const std::string& appProvision, Provision { cJSON* jsonObj = cJSON_Parse(appProvision.c_str()); if (jsonObj == NULL || !cJSON_IsObject(jsonObj)) { + cJSON_Delete(jsonObj); return PROVISION_INVALID; } from_json(jsonObj, info); diff --git a/interfaces/innerkits/appverify/src/util/hap_cert_verify_openssl_utils.cpp b/interfaces/innerkits/appverify/src/util/hap_cert_verify_openssl_utils.cpp index abdb2a75e733359faab76b2b6343aa89be086191..00669347704184671872026d3effcfedee656d70 100644 --- a/interfaces/innerkits/appverify/src/util/hap_cert_verify_openssl_utils.cpp +++ b/interfaces/innerkits/appverify/src/util/hap_cert_verify_openssl_utils.cpp @@ -260,8 +260,9 @@ void HapCertVerifyOpensslUtils::WriteX509CrlToStream(std::ofstream& crlFile, X50 crlFile.seekp(posStart + sizeof(totalLen)); char buf[OPENSSL_READ_CRL_LEN_EACH_TIME]; int32_t readLen = BIO_read(derBio, buf, sizeof(buf)); - int32_t readTime = 0; - while (readLen > 0 && (++readTime < OPENSSL_READ_CRL_MAX_TIME)) { + int32_t readTime = 1; + while (readLen > 0 && (readTime < OPENSSL_READ_CRL_MAX_TIME)) { + readTime++; crlFile.write(buf, readLen); totalLen += readLen; readLen = BIO_read(derBio, buf, sizeof(buf));