diff --git a/runtime/hsa-runtime/core/runtime/amd_loader_context.cpp b/runtime/hsa-runtime/core/runtime/amd_loader_context.cpp index b38a25ad4b..3927d67824 100644 --- a/runtime/hsa-runtime/core/runtime/amd_loader_context.cpp +++ b/runtime/hsa-runtime/core/runtime/amd_loader_context.cpp @@ -472,7 +472,10 @@ void* LoaderContext::SegmentAlloc(amdgpu_hsa_elf_segment_t segment, if (nullptr == mem) { return nullptr; } - mem->Allocate(size, align, zero); + if (!mem->Allocate(size, align, zero)) { + delete mem; + return nullptr; + } return mem; }