diff --git a/uhdf2/hdi/test/hdi_sample/sample_service_cpp/sample_driver.cpp b/uhdf2/hdi/test/hdi_sample/sample_service_cpp/sample_driver.cpp index 82184969e413cd733eca6b68f14d75e10f840a9d..eb5206e90117543f64ebe00d22107b090fb28f04 100644 --- a/uhdf2/hdi/test/hdi_sample/sample_service_cpp/sample_driver.cpp +++ b/uhdf2/hdi/test/hdi_sample/sample_service_cpp/sample_driver.cpp @@ -65,6 +65,7 @@ static int HdfSampleDriverBind(struct HdfDeviceObject *deviceObject) auto sampleImpl = ISample::Get(true); if (sampleImpl == nullptr) { HDF_LOGE("HdfSampleDriverBind: failed to get ISample implement"); + delete hdfSampleService; return HDF_FAILURE; } @@ -72,6 +73,7 @@ static int HdfSampleDriverBind(struct HdfDeviceObject *deviceObject) OHOS::HDI::ObjectCollector::GetInstance().GetOrNewObject(sampleImpl, ISample::GetDescriptor()); if (hdfSampleService->sampleStub == nullptr) { HDF_LOGE("HdfSampleDriverBind: failed to get ISample stub object"); + delete hdfSampleService; return HDF_FAILURE; }