From a527c241a2ac3a47161648567cbc056e44151e42 Mon Sep 17 00:00:00 2001 From: Jaydeep Patel Date: Thu, 21 Apr 2022 05:56:28 +0000 Subject: [PATCH] SWDEV-333581 - Pass free and/or total size_t as nullptr. Change-Id: Ib83467a351b6df22ef641c0e82284c7e0fac32e3 --- hipamd/src/hip_memory.cpp | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/hipamd/src/hip_memory.cpp b/hipamd/src/hip_memory.cpp index 9d2f203f75..47b1311255 100644 --- a/hipamd/src/hip_memory.cpp +++ b/hipamd/src/hip_memory.cpp @@ -661,18 +661,27 @@ hipError_t hipMemGetAddressRange(hipDeviceptr_t* pbase, size_t* psize, hipDevice hipError_t hipMemGetInfo(size_t* free, size_t* total) { HIP_INIT_API(hipMemGetInfo, free, total); - size_t freeMemory[2]; - amd::Device* device = hip::getCurrentDevice()->devices()[0]; - if(device == nullptr) { - HIP_RETURN(hipErrorInvalidDevice); - } - - if(!device->globalFreeMemory(freeMemory)) { + if (free == nullptr && total == nullptr) { HIP_RETURN(hipErrorInvalidValue); } - *free = freeMemory[0] * Ki; - *total = device->info().globalMemSize_; + size_t freeMemory[2]; + amd::Device* device = hip::getCurrentDevice()->devices()[0]; + if (device == nullptr) { + HIP_RETURN(hipErrorInvalidDevice); + } + + if (!device->globalFreeMemory(freeMemory)) { + HIP_RETURN(hipErrorInvalidValue); + } + + if (free != nullptr) { + *free = freeMemory[0] * Ki; + } + + if (total != nullptr) { + *total = device->info().globalMemSize_; + } HIP_RETURN(hipSuccess); }