From 23e8e39efe7bf41c490083d9bebdf0dc9039a4fc Mon Sep 17 00:00:00 2001 From: wuzhihuitmac Date: Thu, 28 Jul 2022 01:17:23 +0000 Subject: [PATCH 1/2] =?UTF-8?q?=E6=B7=BB=E5=8A=A0memset=E8=BF=94=E5=9B=9E?= =?UTF-8?q?=E5=80=BC=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: wuzhihuitmac Change-Id: If9cc3a0898e784a37c361243aef159a5a8c61605 --- services/miscdevice_service/src/miscdevice_dump.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/services/miscdevice_service/src/miscdevice_dump.cpp b/services/miscdevice_service/src/miscdevice_dump.cpp index ebaf161..7a8149b 100644 --- a/services/miscdevice_service/src/miscdevice_dump.cpp +++ b/services/miscdevice_service/src/miscdevice_dump.cpp @@ -46,7 +46,10 @@ void MiscdeviceDump::ParseCommand(int32_t fd, const std::vector& ar }; char **argv = new (std::nothrow) char *[args.size()]; CHKPV(argv); - memset_s(argv, args.size() * sizeof(char *), 0, args.size() * sizeof(char *)); + if (memset_s(argv, args.size() * sizeof(char *), 0, args.size() * sizeof(char *)) != EOK) { + MISC_HILOGE("Call memset_s failed"); + return; + } for (size_t i = 0; i < args.size(); ++i) { argv[i] = new (std::nothrow) char[args[i].size() + 1]; if (argv[i] == nullptr) { -- Gitee From fc21ce3414efd4c935e365f5dca5ba1650e5dd8a Mon Sep 17 00:00:00 2001 From: wuzhihuitmac Date: Thu, 28 Jul 2022 07:41:03 +0000 Subject: [PATCH 2/2] add resource release Signed-off-by: wuzhihuitmac Change-Id: I16a31842c52fc3acba2993630dfd53e9812d0d59 --- services/miscdevice_service/src/miscdevice_dump.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/services/miscdevice_service/src/miscdevice_dump.cpp b/services/miscdevice_service/src/miscdevice_dump.cpp index 7a8149b..3975816 100644 --- a/services/miscdevice_service/src/miscdevice_dump.cpp +++ b/services/miscdevice_service/src/miscdevice_dump.cpp @@ -48,6 +48,7 @@ void MiscdeviceDump::ParseCommand(int32_t fd, const std::vector& ar CHKPV(argv); if (memset_s(argv, args.size() * sizeof(char *), 0, args.size() * sizeof(char *)) != EOK) { MISC_HILOGE("Call memset_s failed"); + delete[] argv; return; } for (size_t i = 0; i < args.size(); ++i) { -- Gitee