diff --git a/model/network/wifi/core/module/wifi_base.c b/model/network/wifi/core/module/wifi_base.c index 1857174d78e37adad2b741e48b5bf1f09474c256..6f1081750decfeb845b76905a894158b2e2c4bd6 100644 --- a/model/network/wifi/core/module/wifi_base.c +++ b/model/network/wifi/core/module/wifi_base.c @@ -1209,6 +1209,7 @@ static int32_t WifiCmdResetDriver(const RequestContext *context, struct HdfSBuf ret = g_baseService->SendAsyncMessage(g_baseService, BASE_SERVICE_ID, CMD_BASE_DO_RESET_PRIVATE, data, SendMessageResetDriverCallBack); if (ret != HDF_SUCCESS) { + HdfSBufRecycle(data); HDF_LOGE("%s: fail to reset the driver,%d", __func__, ret); } return ret; diff --git a/test/unittest/model/network/wifi/unittest/message/hdf_single_node_message_test.c b/test/unittest/model/network/wifi/unittest/message/hdf_single_node_message_test.c index 4b122ab7ea24bc88216dad3fdf1a2d536dad17a3..dc017718f8a12ccfa79e1251174283b8bd9bfec9 100644 --- a/test/unittest/model/network/wifi/unittest/message/hdf_single_node_message_test.c +++ b/test/unittest/model/network/wifi/unittest/message/hdf_single_node_message_test.c @@ -147,6 +147,7 @@ int32_t MessageSingleNodeTest001(void) { ErrorCode errCode; ErrorCode errShutdown; + Service *service = NULL; do { ServiceCfg cfgB = { @@ -155,12 +156,17 @@ int32_t MessageSingleNodeTest001(void) MSG_RETURN_IF_FUNCTION_FAILED(errCode, StartEnv()); - Service *service = CreateService(TestServiceB, &cfgB); + service = CreateService(TestServiceB, &cfgB); MSG_BREAK_IF(errCode, service != NULL); } while (false); MSG_RETURN_IF_FUNCTION_FAILED(errShutdown, StopEnv()); - + if (service != NULL) { + if (service->Destroy != NULL) { + service->Destroy(service); + } + service = NULL; + } return errCode; }