diff --git a/interfaces/kits/c/drm_capi/common/native_drm_object.h b/interfaces/kits/c/drm_capi/common/native_drm_object.h index 48689394..055fa79b 100644 --- a/interfaces/kits/c/drm_capi/common/native_drm_object.h +++ b/interfaces/kits/c/drm_capi/common/native_drm_object.h @@ -111,7 +111,12 @@ public: dataInfo = (unsigned char *)malloc(data.size()); DRM_CHECK_AND_RETURN_LOG(dataInfo != nullptr, "malloc faild!"); errno_t ret = memcpy_s(dataInfo, data.size(), data.data(), data.size()); - DRM_CHECK_AND_RETURN_LOG(ret == EOK, "memcpy_s faild!"); + if (ret != EOK) { + DRM_ERR_LOG("memcpy_s faild!"); + free(dataInfo); + dataInfo = nullptr; + return; + } } if (callback_ != nullptr) { @@ -200,7 +205,12 @@ public: dataInfo = (unsigned char *)malloc(data.size()); DRM_CHECK_AND_RETURN_LOG(dataInfo != nullptr, "malloc faild!"); errno_t ret = memcpy_s(dataInfo, data.size(), data.data(), data.size()); - DRM_CHECK_AND_RETURN_LOG(ret == EOK, "memcpy_s faild!"); + if (ret != EOK) { + DRM_ERR_LOG("memcpy_s faild!"); + free(dataInfo); + dataInfo = nullptr; + return; + } } if (callback_.eventCallback != nullptr) { @@ -277,4 +287,4 @@ private: } // DrmStandard } // OHOS -#endif // NATIVE_DRM_OBJECT_H +#endif // NATIVE_DRM_OBJECT_H \ No newline at end of file