diff --git a/frameworks/native/src/asym_key.c b/frameworks/native/src/asym_key.c index 5f852706a16973ddeaaf2e50c3473a3f2235dbc1..7a6bb8359f66e0d74be53ddc828ab846116e36e2 100644 --- a/frameworks/native/src/asym_key.c +++ b/frameworks/native/src/asym_key.c @@ -253,8 +253,12 @@ static void FreeDecParamsSpec(HcfKeyDecodingParamsSpec *decSpec) if (decSpec == NULL) { return; } - HcfFree(decSpec->password); - decSpec->password = NULL; + + if (decSpec->password != NULL) { + (void)memset_s(decSpec->password, strlen(decSpec->password), 0, strlen(decSpec->password)); + HcfFree(decSpec->password); + decSpec->password = NULL; + } HcfFree(decSpec); }