From a0ea127e922694fb3c7a1328a89fb7fa5726a5c1 Mon Sep 17 00:00:00 2001 From: quyawei Date: Fri, 9 Sep 2022 17:03:41 +0800 Subject: [PATCH 1/7] napi update --- frameworks/js/napi/src/napi_mac.cpp | 58 ++++++++++++---------------- frameworks/js/napi/src/napi_md.cpp | 58 ++++++++++++---------------- frameworks/js/napi/src/napi_rand.cpp | 25 +++++++++--- 3 files changed, 68 insertions(+), 73 deletions(-) diff --git a/frameworks/js/napi/src/napi_mac.cpp b/frameworks/js/napi/src/napi_mac.cpp index 4525b8f..6ecb2ba 100644 --- a/frameworks/js/napi/src/napi_mac.cpp +++ b/frameworks/js/napi/src/napi_mac.cpp @@ -410,55 +410,45 @@ static napi_value NapiGetMacLength(napi_env env, napi_callback_info info) napi_value NapiMac::MacConstructor(napi_env env, napi_callback_info info) { - printf("enter MacConstructor..."); napi_value thisVar = nullptr; - size_t exceptedArgc = ARGS_SIZE_ONE; - size_t argc = exceptedArgc; - napi_value argv[ARGS_SIZE_ONE] = { 0 }; - napi_get_cb_info(env, info, &argc, argv, &thisVar, nullptr); - std::string algoName; - if (!GetStringFromJSParams(env, argv[0], algoName)) { - return NapiGetNull(env); - } - HcfMac *macObj = nullptr; - int32_t res = HcfMacCreate(algoName.c_str(), &macObj); - if (res != HCF_SUCCESS) { - LOGE("create c macObj failed."); - return NapiGetNull(env); - } - NapiMac *macNapiObj = new NapiMac(macObj); - napi_wrap( - env, thisVar, macNapiObj, - [](napi_env env, void *data, void *hint) { - NapiMac *mac = (NapiMac *)(data); - delete mac; - return; - }, - nullptr, - nullptr); - napi_value napiAlgName = nullptr; - napi_create_string_utf8(env, algoName.c_str(), NAPI_AUTO_LENGTH, &napiAlgName); - napi_set_named_property(env, thisVar, CRYPTO_TAG_ALG_NAME.c_str(), napiAlgName); - printf("out MacConstructor..."); - return thisVar; + napi_get_cb_info(env, info, nullptr, nullptr, &thisVar, nullptr); + return thisVar; } napi_value NapiMac::CreateMac(napi_env env, napi_callback_info info) { - printf("enter CreateMac..."); size_t exceptedArgc = ARGS_SIZE_ONE; size_t argc; napi_value argv[ARGS_SIZE_ONE] = { 0 }; napi_get_cb_info(env, info, &argc, argv, nullptr, nullptr); if (argc != exceptedArgc) { LOGE("The input args num is invalid."); - return NapiGetNull(env); + return nullptr; } - napi_value instance; + Hcf *macObj = nullptr; + int32_t res = HcfMacCreate(algoName.c_str(), &macObj); + if (res != HCF_SUCCESS) { + napi_throw(env, GenerateBusinessError(env, res, "create C obj failed.")); + LOGE("create c macObj failed."); + return nullptr; + } + napi_value napiAlgName = nullptr; + napi_create_string_utf8(env, algoName.c_str(), NAPI_AUTO_LENGTH, &napiAlgName); + napi_value instance = nullptr; napi_value constructor = nullptr; napi_get_reference_value(env, classRef_, &constructor); napi_new_instance(env, constructor, argc, argv, &instance); - printf("out CreateMac..."); + napi_set_name_property(env, instance, CRYPTO_TAG_ALG_NAME.c_str(), napiAlgName); + NapiMac *macNapiObj = new NapiMac(macObj); + napi_wrap( + env, instance, macNapiObj, + [](napi_env env, void *data, void *hint) { + NapiMac *mac = (NapiMac *)(data); + delete mac; + return; + }, + nullptr, + nullptr); return instance; } diff --git a/frameworks/js/napi/src/napi_md.cpp b/frameworks/js/napi/src/napi_md.cpp index 25463f4..7e75bd6 100644 --- a/frameworks/js/napi/src/napi_md.cpp +++ b/frameworks/js/napi/src/napi_md.cpp @@ -317,55 +317,45 @@ static napi_value NapiGetMdLength(napi_env env, napi_callback_info info) napi_value NapiMd::MdConstructor(napi_env env, napi_callback_info info) { - printf("enter MdConstructor..."); napi_value thisVar = nullptr; - size_t exceptedArgc = ARGS_SIZE_ONE; - size_t argc = exceptedArgc; - napi_value argv[ARGS_SIZE_ONE] = { 0 }; - napi_get_cb_info(env, info, &argc, argv, &thisVar, nullptr); - std::string algoName; - if (!GetStringFromJSParams(env, argv[PARAM0], algoName)) { - return NapiGetNull(env); - } - HcfMd *mdObj = nullptr; - int32_t res = HcfMdCreate(algoName.c_str(), &mdObj); - if (res != HCF_SUCCESS) { - LOGE("create c mdObj failed."); - return NapiGetNull(env); - } - NapiMd *mdNapiObj = new NapiMd(mdObj); - napi_wrap( - env, thisVar, mdNapiObj, - [](napi_env env, void *data, void *hint) { - NapiMd *md = (NapiMd *)(data); - delete md; - return; - }, - nullptr, - nullptr); - napi_value napiAlgName = nullptr; - napi_create_string_utf8(env, algoName.c_str(), NAPI_AUTO_LENGTH, &napiAlgName); - napi_set_named_property(env, thisVar, CRYPTO_TAG_ALG_NAME.c_str(), napiAlgName); - printf("out MdConstructor..."); - return thisVar; + napi_get_cb_info(env, info, nullptr, nullptr, &thisVar, nullptr); + return thisVar; } napi_value NapiMd::CreateMd(napi_env env, napi_callback_info info) { - printf("enter CreateMd..."); size_t exceptedArgc = ARGS_SIZE_ONE; size_t argc; napi_value argv[ARGS_SIZE_ONE] = { 0 }; napi_get_cb_info(env, info, &argc, argv, nullptr, nullptr); if (argc != exceptedArgc) { LOGE("The input args num is invalid."); - return NapiGetNull(env); + return nullptr; } - napi_value instance; + Hcf *mdObj = nullptr; + int32_t res = HcfMdCreate(algoName.c_str(), &mdObj); + if (res != HCF_SUCCESS) { + napi_throw(env, GenerateBusinessError(env, res, "create C obj failed.")); + LOGE("create c mdObj failed."); + return nullptr; + } + napi_value napiAlgName = nullptr; + napi_create_string_utf8(env, algoName.c_str(), NAPI_AUTO_LENGTH, &napiAlgName); + napi_value instance = nullptr; napi_value constructor = nullptr; napi_get_reference_value(env, classRef_, &constructor); napi_new_instance(env, constructor, argc, argv, &instance); - printf("out CreateMd..."); + napi_set_name_property(env, instance, CRYPTO_TAG_ALG_NAME.c_str(), napiAlgName); + NapiMd *mdNapiObj = new NapiMd(mdObj); + napi_wrap( + env, instance, mdNapiObj, + [](napi_env env, void *data, void *hint) { + NapiMd *md = (NapiMd *)(data); + delete md; + return; + }, + nullptr, + nullptr); return instance; } diff --git a/frameworks/js/napi/src/napi_rand.cpp b/frameworks/js/napi/src/napi_rand.cpp index e45fdf4..bdfac50 100644 --- a/frameworks/js/napi/src/napi_rand.cpp +++ b/frameworks/js/napi/src/napi_rand.cpp @@ -329,19 +329,34 @@ napi_value NapiRand::RandConstructor(napi_env env, napi_callback_info info) napi_value NapiRand::CreateRand(napi_env env, napi_callback_info info) { - printf("enter CreateRand..."); size_t exceptedArgc = ARGS_SIZE_ZERO; size_t argc; napi_get_cb_info(env, info, &argc, nullptr, nullptr, nullptr); if (argc != exceptedArgc) { LOGE("The input args num is invalid."); - return NapiGetNull(env); + return nullptr; } - napi_value instance; + Hcf *randObj = nullptr; + int32_t res = HcfRandCreate(algoName.c_str(), &randObj); + if (res != HCF_SUCCESS) { + napi_throw(env, GenerateBusinessError(env, res, "create C obj failed.")); + LOGE("create c randObj failed."); + return nullptr; + } + napi_value instance = nullptr; napi_value constructor = nullptr; napi_get_reference_value(env, classRef_, &constructor); - napi_new_instance(env, constructor, ARGS_SIZE_ZERO, nullptr, &instance); - printf("out CreateRand..."); + napi_new_instance(env, constructor, argc, argv, &instance); + NapiRand *randNapiObj = new NapiRand(randObj); + napi_wrap( + env, instance, randNapiObj, + [](napi_env env, void *data, void *hint) { + NapiRand *rand = (NapiRand *)(data); + delete rand; + return; + }, + nullptr, + nullptr); return instance; } -- Gitee From 0bd178b008f9f326821a053b65baf7893e7a1fb3 Mon Sep 17 00:00:00 2001 From: quyawei Date: Fri, 9 Sep 2022 17:09:50 +0800 Subject: [PATCH 2/7] napi update --- frameworks/js/napi/src/napi_rand.cpp | 22 ++-------------------- 1 file changed, 2 insertions(+), 20 deletions(-) diff --git a/frameworks/js/napi/src/napi_rand.cpp b/frameworks/js/napi/src/napi_rand.cpp index bdfac50..698c425 100644 --- a/frameworks/js/napi/src/napi_rand.cpp +++ b/frameworks/js/napi/src/napi_rand.cpp @@ -304,27 +304,9 @@ static napi_value NapiSetSeed(napi_env env, napi_callback_info info) napi_value NapiRand::RandConstructor(napi_env env, napi_callback_info info) { - printf("enter RandConstructor..."); napi_value thisVar = nullptr; - napi_get_cb_info(env, info, nullptr, nullptr, &thisVar, nullptr); - HcfRand *randObj = nullptr; - HcfResult res = HcfRandCreate(&randObj); - if (res != HCF_SUCCESS) { - LOGE("create c rand fail."); - return NapiGetNull(env); - } - NapiRand *randNapiObj = new NapiRand(randObj); - napi_wrap( - env, thisVar, randNapiObj, - [](napi_env env, void *data, void *hint) { - NapiRand *rand = (NapiRand *)(data); - delete rand; - return; - }, - nullptr, - nullptr); - printf("out RandConstructor..."); - return thisVar; + napi_get_cb_info(env, info, nullptr, nullptr, &thisVar, nullptr); + return thisVar; } napi_value NapiRand::CreateRand(napi_env env, napi_callback_info info) -- Gitee From 0a1478c4b0d5cb1d85342fa99c8a27df5083c156 Mon Sep 17 00:00:00 2001 From: quyawei Date: Fri, 9 Sep 2022 17:13:46 +0800 Subject: [PATCH 3/7] napi update --- frameworks/js/napi/src/napi_mac.cpp | 7 ++++++- frameworks/js/napi/src/napi_md.cpp | 7 ++++++- frameworks/js/napi/src/napi_rand.cpp | 4 ++-- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/frameworks/js/napi/src/napi_mac.cpp b/frameworks/js/napi/src/napi_mac.cpp index 6ecb2ba..f791fee 100644 --- a/frameworks/js/napi/src/napi_mac.cpp +++ b/frameworks/js/napi/src/napi_mac.cpp @@ -425,8 +425,13 @@ napi_value NapiMac::CreateMac(napi_env env, napi_callback_info info) LOGE("The input args num is invalid."); return nullptr; } + std::string algoName; + if (!GetStringFromJSParams(env, argv[PARAM0], algoName)) { + LOGE("Failed to get algorithm"); + return nullptr; + } Hcf *macObj = nullptr; - int32_t res = HcfMacCreate(algoName.c_str(), &macObj); + HCF_Result res = HcfMacCreate(algoName.c_str(), &macObj); if (res != HCF_SUCCESS) { napi_throw(env, GenerateBusinessError(env, res, "create C obj failed.")); LOGE("create c macObj failed."); diff --git a/frameworks/js/napi/src/napi_md.cpp b/frameworks/js/napi/src/napi_md.cpp index 7e75bd6..a51dd09 100644 --- a/frameworks/js/napi/src/napi_md.cpp +++ b/frameworks/js/napi/src/napi_md.cpp @@ -332,8 +332,13 @@ napi_value NapiMd::CreateMd(napi_env env, napi_callback_info info) LOGE("The input args num is invalid."); return nullptr; } + std::string algoName; + if (!GetStringFromJSParams(env, argv[PARAM0], algoName)) { + LOGE("Failed to get algorithm"); + return nullptr; + } Hcf *mdObj = nullptr; - int32_t res = HcfMdCreate(algoName.c_str(), &mdObj); + HCF_Result res = HcfMdCreate(algoName.c_str(), &mdObj); if (res != HCF_SUCCESS) { napi_throw(env, GenerateBusinessError(env, res, "create C obj failed.")); LOGE("create c mdObj failed."); diff --git a/frameworks/js/napi/src/napi_rand.cpp b/frameworks/js/napi/src/napi_rand.cpp index 698c425..dd96986 100644 --- a/frameworks/js/napi/src/napi_rand.cpp +++ b/frameworks/js/napi/src/napi_rand.cpp @@ -319,7 +319,7 @@ napi_value NapiRand::CreateRand(napi_env env, napi_callback_info info) return nullptr; } Hcf *randObj = nullptr; - int32_t res = HcfRandCreate(algoName.c_str(), &randObj); + HCF_Result res = HcfRandCreate(&randObj); if (res != HCF_SUCCESS) { napi_throw(env, GenerateBusinessError(env, res, "create C obj failed.")); LOGE("create c randObj failed."); @@ -328,7 +328,7 @@ napi_value NapiRand::CreateRand(napi_env env, napi_callback_info info) napi_value instance = nullptr; napi_value constructor = nullptr; napi_get_reference_value(env, classRef_, &constructor); - napi_new_instance(env, constructor, argc, argv, &instance); + napi_new_instance(env, constructor, argc, nullptr, &instance); NapiRand *randNapiObj = new NapiRand(randObj); napi_wrap( env, instance, randNapiObj, -- Gitee From aca9a12b6c2cd4ecf8accc831d42c3da66f15ed4 Mon Sep 17 00:00:00 2001 From: quyawei Date: Fri, 9 Sep 2022 17:17:18 +0800 Subject: [PATCH 4/7] napi update --- frameworks/js/napi/src/napi_mac.cpp | 4 ++-- frameworks/js/napi/src/napi_md.cpp | 2 +- frameworks/js/napi/src/napi_rand.cpp | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/frameworks/js/napi/src/napi_mac.cpp b/frameworks/js/napi/src/napi_mac.cpp index f791fee..c056251 100644 --- a/frameworks/js/napi/src/napi_mac.cpp +++ b/frameworks/js/napi/src/napi_mac.cpp @@ -431,7 +431,7 @@ napi_value NapiMac::CreateMac(napi_env env, napi_callback_info info) return nullptr; } Hcf *macObj = nullptr; - HCF_Result res = HcfMacCreate(algoName.c_str(), &macObj); + HcfResult res = HcfMacCreate(algoName.c_str(), &macObj); if (res != HCF_SUCCESS) { napi_throw(env, GenerateBusinessError(env, res, "create C obj failed.")); LOGE("create c macObj failed."); @@ -443,7 +443,7 @@ napi_value NapiMac::CreateMac(napi_env env, napi_callback_info info) napi_value constructor = nullptr; napi_get_reference_value(env, classRef_, &constructor); napi_new_instance(env, constructor, argc, argv, &instance); - napi_set_name_property(env, instance, CRYPTO_TAG_ALG_NAME.c_str(), napiAlgName); + napi_set_named_property(env, instance, CRYPTO_TAG_ALG_NAME.c_str(), napiAlgName); NapiMac *macNapiObj = new NapiMac(macObj); napi_wrap( env, instance, macNapiObj, diff --git a/frameworks/js/napi/src/napi_md.cpp b/frameworks/js/napi/src/napi_md.cpp index a51dd09..1a9da96 100644 --- a/frameworks/js/napi/src/napi_md.cpp +++ b/frameworks/js/napi/src/napi_md.cpp @@ -350,7 +350,7 @@ napi_value NapiMd::CreateMd(napi_env env, napi_callback_info info) napi_value constructor = nullptr; napi_get_reference_value(env, classRef_, &constructor); napi_new_instance(env, constructor, argc, argv, &instance); - napi_set_name_property(env, instance, CRYPTO_TAG_ALG_NAME.c_str(), napiAlgName); + napi_set_named_property(env, instance, CRYPTO_TAG_ALG_NAME.c_str(), napiAlgName); NapiMd *mdNapiObj = new NapiMd(mdObj); napi_wrap( env, instance, mdNapiObj, diff --git a/frameworks/js/napi/src/napi_rand.cpp b/frameworks/js/napi/src/napi_rand.cpp index dd96986..e4a9436 100644 --- a/frameworks/js/napi/src/napi_rand.cpp +++ b/frameworks/js/napi/src/napi_rand.cpp @@ -319,7 +319,7 @@ napi_value NapiRand::CreateRand(napi_env env, napi_callback_info info) return nullptr; } Hcf *randObj = nullptr; - HCF_Result res = HcfRandCreate(&randObj); + HcfResult res = HcfRandCreate(&randObj); if (res != HCF_SUCCESS) { napi_throw(env, GenerateBusinessError(env, res, "create C obj failed.")); LOGE("create c randObj failed."); -- Gitee From dd3dbcabb1bd974da675cb7e01941c84e31808e8 Mon Sep 17 00:00:00 2001 From: quyawei Date: Fri, 9 Sep 2022 17:19:48 +0800 Subject: [PATCH 5/7] napi update Signed-off-by: quyawei --- frameworks/js/napi/src/napi_mac.cpp | 4 ++-- frameworks/js/napi/src/napi_md.cpp | 6 +++--- frameworks/js/napi/src/napi_rand.cpp | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/frameworks/js/napi/src/napi_mac.cpp b/frameworks/js/napi/src/napi_mac.cpp index c056251..a6ca4f8 100644 --- a/frameworks/js/napi/src/napi_mac.cpp +++ b/frameworks/js/napi/src/napi_mac.cpp @@ -427,10 +427,10 @@ napi_value NapiMac::CreateMac(napi_env env, napi_callback_info info) } std::string algoName; if (!GetStringFromJSParams(env, argv[PARAM0], algoName)) { - LOGE("Failed to get algorithm"); + LOGE("Failed to get algorithm."); return nullptr; } - Hcf *macObj = nullptr; + HcfMac *macObj = nullptr; HcfResult res = HcfMacCreate(algoName.c_str(), &macObj); if (res != HCF_SUCCESS) { napi_throw(env, GenerateBusinessError(env, res, "create C obj failed.")); diff --git a/frameworks/js/napi/src/napi_md.cpp b/frameworks/js/napi/src/napi_md.cpp index 1a9da96..96f0cf9 100644 --- a/frameworks/js/napi/src/napi_md.cpp +++ b/frameworks/js/napi/src/napi_md.cpp @@ -334,11 +334,11 @@ napi_value NapiMd::CreateMd(napi_env env, napi_callback_info info) } std::string algoName; if (!GetStringFromJSParams(env, argv[PARAM0], algoName)) { - LOGE("Failed to get algorithm"); + LOGE("Failed to get algorithm."); return nullptr; } - Hcf *mdObj = nullptr; - HCF_Result res = HcfMdCreate(algoName.c_str(), &mdObj); + HcfMd *mdObj = nullptr; + HcfResult res = HcfMdCreate(algoName.c_str(), &mdObj); if (res != HCF_SUCCESS) { napi_throw(env, GenerateBusinessError(env, res, "create C obj failed.")); LOGE("create c mdObj failed."); diff --git a/frameworks/js/napi/src/napi_rand.cpp b/frameworks/js/napi/src/napi_rand.cpp index e4a9436..cf2ca7d 100644 --- a/frameworks/js/napi/src/napi_rand.cpp +++ b/frameworks/js/napi/src/napi_rand.cpp @@ -318,7 +318,7 @@ napi_value NapiRand::CreateRand(napi_env env, napi_callback_info info) LOGE("The input args num is invalid."); return nullptr; } - Hcf *randObj = nullptr; + HcfRand *randObj = nullptr; HcfResult res = HcfRandCreate(&randObj); if (res != HCF_SUCCESS) { napi_throw(env, GenerateBusinessError(env, res, "create C obj failed.")); -- Gitee From f2c8255a92029f214e6da0b6ec687a8a637713ef Mon Sep 17 00:00:00 2001 From: quyawei Date: Fri, 9 Sep 2022 19:07:56 +0800 Subject: [PATCH 6/7] napi update Signed-off-by: quyawei --- frameworks/js/napi/src/napi_mac.cpp | 63 +++++++++++++--------------- frameworks/js/napi/src/napi_md.cpp | 63 +++++++++++++--------------- frameworks/js/napi/src/napi_rand.cpp | 47 ++++++++++----------- 3 files changed, 80 insertions(+), 93 deletions(-) diff --git a/frameworks/js/napi/src/napi_mac.cpp b/frameworks/js/napi/src/napi_mac.cpp index 4525b8f..a6ca4f8 100644 --- a/frameworks/js/napi/src/napi_mac.cpp +++ b/frameworks/js/napi/src/napi_mac.cpp @@ -410,55 +410,50 @@ static napi_value NapiGetMacLength(napi_env env, napi_callback_info info) napi_value NapiMac::MacConstructor(napi_env env, napi_callback_info info) { - printf("enter MacConstructor..."); napi_value thisVar = nullptr; - size_t exceptedArgc = ARGS_SIZE_ONE; - size_t argc = exceptedArgc; - napi_value argv[ARGS_SIZE_ONE] = { 0 }; - napi_get_cb_info(env, info, &argc, argv, &thisVar, nullptr); - std::string algoName; - if (!GetStringFromJSParams(env, argv[0], algoName)) { - return NapiGetNull(env); - } - HcfMac *macObj = nullptr; - int32_t res = HcfMacCreate(algoName.c_str(), &macObj); - if (res != HCF_SUCCESS) { - LOGE("create c macObj failed."); - return NapiGetNull(env); - } - NapiMac *macNapiObj = new NapiMac(macObj); - napi_wrap( - env, thisVar, macNapiObj, - [](napi_env env, void *data, void *hint) { - NapiMac *mac = (NapiMac *)(data); - delete mac; - return; - }, - nullptr, - nullptr); - napi_value napiAlgName = nullptr; - napi_create_string_utf8(env, algoName.c_str(), NAPI_AUTO_LENGTH, &napiAlgName); - napi_set_named_property(env, thisVar, CRYPTO_TAG_ALG_NAME.c_str(), napiAlgName); - printf("out MacConstructor..."); - return thisVar; + napi_get_cb_info(env, info, nullptr, nullptr, &thisVar, nullptr); + return thisVar; } napi_value NapiMac::CreateMac(napi_env env, napi_callback_info info) { - printf("enter CreateMac..."); size_t exceptedArgc = ARGS_SIZE_ONE; size_t argc; napi_value argv[ARGS_SIZE_ONE] = { 0 }; napi_get_cb_info(env, info, &argc, argv, nullptr, nullptr); if (argc != exceptedArgc) { LOGE("The input args num is invalid."); - return NapiGetNull(env); + return nullptr; } - napi_value instance; + std::string algoName; + if (!GetStringFromJSParams(env, argv[PARAM0], algoName)) { + LOGE("Failed to get algorithm."); + return nullptr; + } + HcfMac *macObj = nullptr; + HcfResult res = HcfMacCreate(algoName.c_str(), &macObj); + if (res != HCF_SUCCESS) { + napi_throw(env, GenerateBusinessError(env, res, "create C obj failed.")); + LOGE("create c macObj failed."); + return nullptr; + } + napi_value napiAlgName = nullptr; + napi_create_string_utf8(env, algoName.c_str(), NAPI_AUTO_LENGTH, &napiAlgName); + napi_value instance = nullptr; napi_value constructor = nullptr; napi_get_reference_value(env, classRef_, &constructor); napi_new_instance(env, constructor, argc, argv, &instance); - printf("out CreateMac..."); + napi_set_named_property(env, instance, CRYPTO_TAG_ALG_NAME.c_str(), napiAlgName); + NapiMac *macNapiObj = new NapiMac(macObj); + napi_wrap( + env, instance, macNapiObj, + [](napi_env env, void *data, void *hint) { + NapiMac *mac = (NapiMac *)(data); + delete mac; + return; + }, + nullptr, + nullptr); return instance; } diff --git a/frameworks/js/napi/src/napi_md.cpp b/frameworks/js/napi/src/napi_md.cpp index 25463f4..96f0cf9 100644 --- a/frameworks/js/napi/src/napi_md.cpp +++ b/frameworks/js/napi/src/napi_md.cpp @@ -317,55 +317,50 @@ static napi_value NapiGetMdLength(napi_env env, napi_callback_info info) napi_value NapiMd::MdConstructor(napi_env env, napi_callback_info info) { - printf("enter MdConstructor..."); napi_value thisVar = nullptr; - size_t exceptedArgc = ARGS_SIZE_ONE; - size_t argc = exceptedArgc; - napi_value argv[ARGS_SIZE_ONE] = { 0 }; - napi_get_cb_info(env, info, &argc, argv, &thisVar, nullptr); - std::string algoName; - if (!GetStringFromJSParams(env, argv[PARAM0], algoName)) { - return NapiGetNull(env); - } - HcfMd *mdObj = nullptr; - int32_t res = HcfMdCreate(algoName.c_str(), &mdObj); - if (res != HCF_SUCCESS) { - LOGE("create c mdObj failed."); - return NapiGetNull(env); - } - NapiMd *mdNapiObj = new NapiMd(mdObj); - napi_wrap( - env, thisVar, mdNapiObj, - [](napi_env env, void *data, void *hint) { - NapiMd *md = (NapiMd *)(data); - delete md; - return; - }, - nullptr, - nullptr); - napi_value napiAlgName = nullptr; - napi_create_string_utf8(env, algoName.c_str(), NAPI_AUTO_LENGTH, &napiAlgName); - napi_set_named_property(env, thisVar, CRYPTO_TAG_ALG_NAME.c_str(), napiAlgName); - printf("out MdConstructor..."); - return thisVar; + napi_get_cb_info(env, info, nullptr, nullptr, &thisVar, nullptr); + return thisVar; } napi_value NapiMd::CreateMd(napi_env env, napi_callback_info info) { - printf("enter CreateMd..."); size_t exceptedArgc = ARGS_SIZE_ONE; size_t argc; napi_value argv[ARGS_SIZE_ONE] = { 0 }; napi_get_cb_info(env, info, &argc, argv, nullptr, nullptr); if (argc != exceptedArgc) { LOGE("The input args num is invalid."); - return NapiGetNull(env); + return nullptr; } - napi_value instance; + std::string algoName; + if (!GetStringFromJSParams(env, argv[PARAM0], algoName)) { + LOGE("Failed to get algorithm."); + return nullptr; + } + HcfMd *mdObj = nullptr; + HcfResult res = HcfMdCreate(algoName.c_str(), &mdObj); + if (res != HCF_SUCCESS) { + napi_throw(env, GenerateBusinessError(env, res, "create C obj failed.")); + LOGE("create c mdObj failed."); + return nullptr; + } + napi_value napiAlgName = nullptr; + napi_create_string_utf8(env, algoName.c_str(), NAPI_AUTO_LENGTH, &napiAlgName); + napi_value instance = nullptr; napi_value constructor = nullptr; napi_get_reference_value(env, classRef_, &constructor); napi_new_instance(env, constructor, argc, argv, &instance); - printf("out CreateMd..."); + napi_set_named_property(env, instance, CRYPTO_TAG_ALG_NAME.c_str(), napiAlgName); + NapiMd *mdNapiObj = new NapiMd(mdObj); + napi_wrap( + env, instance, mdNapiObj, + [](napi_env env, void *data, void *hint) { + NapiMd *md = (NapiMd *)(data); + delete md; + return; + }, + nullptr, + nullptr); return instance; } diff --git a/frameworks/js/napi/src/napi_rand.cpp b/frameworks/js/napi/src/napi_rand.cpp index e45fdf4..cf2ca7d 100644 --- a/frameworks/js/napi/src/napi_rand.cpp +++ b/frameworks/js/napi/src/napi_rand.cpp @@ -304,44 +304,41 @@ static napi_value NapiSetSeed(napi_env env, napi_callback_info info) napi_value NapiRand::RandConstructor(napi_env env, napi_callback_info info) { - printf("enter RandConstructor..."); napi_value thisVar = nullptr; - napi_get_cb_info(env, info, nullptr, nullptr, &thisVar, nullptr); - HcfRand *randObj = nullptr; - HcfResult res = HcfRandCreate(&randObj); - if (res != HCF_SUCCESS) { - LOGE("create c rand fail."); - return NapiGetNull(env); - } - NapiRand *randNapiObj = new NapiRand(randObj); - napi_wrap( - env, thisVar, randNapiObj, - [](napi_env env, void *data, void *hint) { - NapiRand *rand = (NapiRand *)(data); - delete rand; - return; - }, - nullptr, - nullptr); - printf("out RandConstructor..."); - return thisVar; + napi_get_cb_info(env, info, nullptr, nullptr, &thisVar, nullptr); + return thisVar; } napi_value NapiRand::CreateRand(napi_env env, napi_callback_info info) { - printf("enter CreateRand..."); size_t exceptedArgc = ARGS_SIZE_ZERO; size_t argc; napi_get_cb_info(env, info, &argc, nullptr, nullptr, nullptr); if (argc != exceptedArgc) { LOGE("The input args num is invalid."); - return NapiGetNull(env); + return nullptr; } - napi_value instance; + HcfRand *randObj = nullptr; + HcfResult res = HcfRandCreate(&randObj); + if (res != HCF_SUCCESS) { + napi_throw(env, GenerateBusinessError(env, res, "create C obj failed.")); + LOGE("create c randObj failed."); + return nullptr; + } + napi_value instance = nullptr; napi_value constructor = nullptr; napi_get_reference_value(env, classRef_, &constructor); - napi_new_instance(env, constructor, ARGS_SIZE_ZERO, nullptr, &instance); - printf("out CreateRand..."); + napi_new_instance(env, constructor, argc, nullptr, &instance); + NapiRand *randNapiObj = new NapiRand(randObj); + napi_wrap( + env, instance, randNapiObj, + [](napi_env env, void *data, void *hint) { + NapiRand *rand = (NapiRand *)(data); + delete rand; + return; + }, + nullptr, + nullptr); return instance; } -- Gitee From 984a10d79c448541636314ff9d8537635cd47249 Mon Sep 17 00:00:00 2001 From: quyawei Date: Tue, 13 Sep 2022 11:39:51 +0800 Subject: [PATCH 7/7] napi fix Signed-off-by: quyawei --- frameworks/js/napi/src/napi_mac.cpp | 6 +++++- frameworks/js/napi/src/napi_md.cpp | 6 +++++- frameworks/js/napi/src/napi_rand.cpp | 6 +++++- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/frameworks/js/napi/src/napi_mac.cpp b/frameworks/js/napi/src/napi_mac.cpp index a6ca4f8..dc2202c 100644 --- a/frameworks/js/napi/src/napi_mac.cpp +++ b/frameworks/js/napi/src/napi_mac.cpp @@ -444,7 +444,11 @@ napi_value NapiMac::CreateMac(napi_env env, napi_callback_info info) napi_get_reference_value(env, classRef_, &constructor); napi_new_instance(env, constructor, argc, argv, &instance); napi_set_named_property(env, instance, CRYPTO_TAG_ALG_NAME.c_str(), napiAlgName); - NapiMac *macNapiObj = new NapiMac(macObj); + NapiMac *macNapiObj = new (std:: nothrow) NapiMac(macObj); + if (macNapiObj == nullptr) { + LOGE("create napi obj failed"); + return nullptr; + } napi_wrap( env, instance, macNapiObj, [](napi_env env, void *data, void *hint) { diff --git a/frameworks/js/napi/src/napi_md.cpp b/frameworks/js/napi/src/napi_md.cpp index 96f0cf9..562627f 100644 --- a/frameworks/js/napi/src/napi_md.cpp +++ b/frameworks/js/napi/src/napi_md.cpp @@ -351,7 +351,11 @@ napi_value NapiMd::CreateMd(napi_env env, napi_callback_info info) napi_get_reference_value(env, classRef_, &constructor); napi_new_instance(env, constructor, argc, argv, &instance); napi_set_named_property(env, instance, CRYPTO_TAG_ALG_NAME.c_str(), napiAlgName); - NapiMd *mdNapiObj = new NapiMd(mdObj); + NapiMd *mdNapiObj = new (std:: nothrow) NapiMd(mdObj); + if (mdNapiObj == nullptr) { + LOGE("create napi obj failed"); + return nullptr; + } napi_wrap( env, instance, mdNapiObj, [](napi_env env, void *data, void *hint) { diff --git a/frameworks/js/napi/src/napi_rand.cpp b/frameworks/js/napi/src/napi_rand.cpp index cf2ca7d..1dcd842 100644 --- a/frameworks/js/napi/src/napi_rand.cpp +++ b/frameworks/js/napi/src/napi_rand.cpp @@ -329,7 +329,11 @@ napi_value NapiRand::CreateRand(napi_env env, napi_callback_info info) napi_value constructor = nullptr; napi_get_reference_value(env, classRef_, &constructor); napi_new_instance(env, constructor, argc, nullptr, &instance); - NapiRand *randNapiObj = new NapiRand(randObj); + NapiRand *randNapiObj = new (std:: nothrow) NapiRand(randObj); + if (macNapiObj == nullptr) { + LOGE("create napi obj failed"); + return nullptr; + } napi_wrap( env, instance, randNapiObj, [](napi_env env, void *data, void *hint) { -- Gitee