Remove possible infinite loops related to pNext

Two code parts contained invalid logic related to traversing
opaque list of pNexts. This has been fixed.

Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
This commit is contained in:
Patryk Wrobel
2022-12-06 10:40:39 +00:00
committed by Compute-Runtime-Automation
parent d75eccc026
commit 5793e200e4
3 changed files with 31 additions and 2 deletions

View File

@@ -643,7 +643,7 @@ ze_result_t DeviceImp::getKernelProperties(ze_device_module_properties_t *pKerne
void *pNext = pKernelProperties->pNext;
while (pNext) {
ze_base_desc_t *extendedProperties = reinterpret_cast<ze_base_desc_t *>(pKernelProperties->pNext);
ze_base_desc_t *extendedProperties = reinterpret_cast<ze_base_desc_t *>(pNext);
if (extendedProperties->stype == ZE_STRUCTURE_TYPE_FLOAT_ATOMIC_EXT_PROPERTIES) {
ze_float_atomic_ext_properties_t *floatProperties =
reinterpret_cast<ze_float_atomic_ext_properties_t *>(extendedProperties);

View File

@@ -730,7 +730,7 @@ ze_result_t KernelImp::getProperties(ze_kernel_properties_t *pKernelProperties)
void *pNext = pKernelProperties->pNext;
while (pNext) {
ze_base_desc_t *extendedProperties = reinterpret_cast<ze_base_desc_t *>(pKernelProperties->pNext);
ze_base_desc_t *extendedProperties = reinterpret_cast<ze_base_desc_t *>(pNext);
if (extendedProperties->stype == ZE_STRUCTURE_TYPE_KERNEL_PREFERRED_GROUP_SIZE_PROPERTIES) {
ze_kernel_preferred_group_size_properties_t *preferredGroupSizeProperties =
reinterpret_cast<ze_kernel_preferred_group_size_properties_t *>(extendedProperties);