SWDEV-443018 - Restrict input range for value argument in hipPointerSetAttribute

Change-Id: I17b6448bf49aed49315a0b4c1426dcbe011735d9
This commit is contained in:
Ioannis Assiouras
2024-01-25 13:45:59 +00:00
کامیت شده توسط Maneesh Gupta
والد a2a8dad980
کامیت 5b72582474
+5 -2
مشاهده پرونده
@@ -3688,6 +3688,10 @@ hipError_t ihipPointerSetAttribute(const void* value, hipPointer_attribute attri
if (attribute != HIP_POINTER_ATTRIBUTE_SYNC_MEMOPS) {
return hipErrorInvalidValue;
}
const unsigned int syncMemops = *reinterpret_cast<const unsigned int*>(value);
if (syncMemops != 0 && syncMemops != 1) {
return hipErrorInvalidValue;
}
size_t offset = 0;
amd::Memory* memObj = getMemoryObject(ptr, offset);
@@ -3695,8 +3699,7 @@ hipError_t ihipPointerSetAttribute(const void* value, hipPointer_attribute attri
return hipErrorInvalidDevicePointer;
}
memObj->getUserData().sync_mem_ops_
= static_cast<const bool>(*(reinterpret_cast<const unsigned int*>(value)));
memObj->getUserData().sync_mem_ops_ = static_cast<const bool>(syncMemops);
return hipSuccess;
}