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

Change-Id: I17b6448bf49aed49315a0b4c1426dcbe011735d9
Этот коммит содержится в:
Ioannis Assiouras authored and Maneesh Gupta committed 2024-02-05 05:08:11 +00:00
1 родитель a2a8dad980
Коммит 5b72582474
1 file changed
+5 -2
+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;
}