diff --git a/services/miscdevice_service/src/miscdevice_dump.cpp b/services/miscdevice_service/src/miscdevice_dump.cpp index ebaf1618ba295922dcfb857b70a8767dac5b27db..39758168624c23cb71e6f6991e822c986ae5018f 100644 --- a/services/miscdevice_service/src/miscdevice_dump.cpp +++ b/services/miscdevice_service/src/miscdevice_dump.cpp @@ -46,7 +46,11 @@ 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"); + delete[] argv; + return; + } for (size_t i = 0; i < args.size(); ++i) { argv[i] = new (std::nothrow) char[args[i].size() + 1]; if (argv[i] == nullptr) {