From 48db87e040cc8fe0d72e48dc18ab184693df3af2 Mon Sep 17 00:00:00 2001 From: zhuhongtao666 Date: Fri, 19 May 2023 07:52:38 +0000 Subject: [PATCH 1/3] bugfix Deleter Signed-off-by: zhuhongtao666 --- interfaces/kits/js/src/mod_fs/properties/listfile.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/interfaces/kits/js/src/mod_fs/properties/listfile.cpp b/interfaces/kits/js/src/mod_fs/properties/listfile.cpp index 6a158b155..c3af337f7 100755 --- a/interfaces/kits/js/src/mod_fs/properties/listfile.cpp +++ b/interfaces/kits/js/src/mod_fs/properties/listfile.cpp @@ -246,9 +246,10 @@ static int32_t FilterFunc(const struct dirent *filename) static void Deleter(struct NameListArg *arg) { for (int i = 0; i < arg->direntNum; i++) { - delete (arg->namelist)[i]; + free((arg->namelist)[i]); (arg->namelist)[i] = nullptr; } + free(arg->namelist); } static int FilterFileRes(const string &path, vector &dirents) -- Gitee From e915a5821324ff708433b481e1ed2cc95e5be8d8 Mon Sep 17 00:00:00 2001 From: zhuhongtao666 Date: Fri, 19 May 2023 07:53:38 +0000 Subject: [PATCH 2/3] bugfix Deleter Signed-off-by: zhuhongtao666 --- interfaces/kits/js/src/mod_fs/properties/copydir.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/interfaces/kits/js/src/mod_fs/properties/copydir.cpp b/interfaces/kits/js/src/mod_fs/properties/copydir.cpp index 32ab2fe4b..4925c50ed 100755 --- a/interfaces/kits/js/src/mod_fs/properties/copydir.cpp +++ b/interfaces/kits/js/src/mod_fs/properties/copydir.cpp @@ -92,12 +92,13 @@ struct NameList { int direntNum = 0; }; -static void Deletor(struct NameList *arg) +static void Deleter(struct NameList *arg) { for (int i = 0; i < arg->direntNum; i++) { - delete (arg->namelist)[i]; + free((arg->namelist)[i]); (arg->namelist)[i] = nullptr; } + free(arg->namelist); } static int CopyFile(const string &src, const string &dest) @@ -144,7 +145,7 @@ static int FilterFunc(const struct dirent *filename) static int RecurCopyDir(const string &srcPath, const string &destPath, vector &errfiles) { - unique_ptr pNameList = {new (nothrow) struct NameList, Deletor}; + unique_ptr pNameList = {new (nothrow) struct NameList, Deleter}; if (pNameList == nullptr) { HILOGE("Failed to request heap memory."); return ENOMEM; -- Gitee From 8deabe76af9038e0253a9102ca9dc41c56bc2d44 Mon Sep 17 00:00:00 2001 From: zhuhongtao666 Date: Fri, 19 May 2023 07:55:29 +0000 Subject: [PATCH 3/3] bugfix Deleter Signed-off-by: zhuhongtao666 --- interfaces/kits/js/src/mod_fs/properties/movedir.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/interfaces/kits/js/src/mod_fs/properties/movedir.cpp b/interfaces/kits/js/src/mod_fs/properties/movedir.cpp index 5a2fcd1a5..01c0afb07 100755 --- a/interfaces/kits/js/src/mod_fs/properties/movedir.cpp +++ b/interfaces/kits/js/src/mod_fs/properties/movedir.cpp @@ -159,12 +159,13 @@ struct NameListArg { int num; }; -static void Deletor(struct NameListArg *arg) +static void Deleter(struct NameListArg *arg) { for (int i = 0; i < arg->num; i++) { - delete (arg->namelist)[i]; + free((arg->namelist)[i]); (arg->namelist)[i] = nullptr; } + free(arg->namelist); } static int MoveSubDir(const string &srcPath, const string &destPath, const int mode, @@ -181,7 +182,7 @@ static int MoveSubDir(const string &srcPath, const string &destPath, const int m static int RecurMoveDir(const string &srcPath, const string &destPath, const int mode, vector &errfiles) { - unique_ptr ptr = {new struct NameListArg, Deletor}; + unique_ptr ptr = {new struct NameListArg, Deleter}; if (!ptr) { HILOGE("Failed to request heap memory."); return ENOMEM; -- Gitee