From ece03e6bbfccea89f86461a3bdcd51e796c6e2ce Mon Sep 17 00:00:00 2001 From: Mateusz Jablonski Date: Thu, 5 Oct 2023 14:42:21 +0000 Subject: [PATCH] fix: add checks to avoid invalid behavior Related-To: NEO-9038 Signed-off-by: Mateusz Jablonski --- shared/offline_compiler/source/decoder/binary_encoder.cpp | 4 +++- shared/source/memory_manager/definitions/storage_info.cpp | 1 + shared/source/utilities/linux/timer_util.cpp | 4 +++- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/shared/offline_compiler/source/decoder/binary_encoder.cpp b/shared/offline_compiler/source/decoder/binary_encoder.cpp index fee4b25afb..1d3bcf5fb0 100644 --- a/shared/offline_compiler/source/decoder/binary_encoder.cpp +++ b/shared/offline_compiler/source/decoder/binary_encoder.cpp @@ -226,7 +226,9 @@ int BinaryEncoder::processKernel(size_t &line, const std::vector &p // Write KernelName and padding kernelBlob.write(kernelName.c_str(), kernelName.size()); - addPadding(kernelBlob, kernelNameSizeInBinary - kernelName.size()); + if (kernelNameSizeInBinary > kernelName.size()) { + addPadding(kernelBlob, kernelNameSizeInBinary - kernelName.size()); + } // Write KernelHeap and padding uint32_t kernelHeapSizeUnpadded = 0U; diff --git a/shared/source/memory_manager/definitions/storage_info.cpp b/shared/source/memory_manager/definitions/storage_info.cpp index 1247081c90..689131c1c2 100644 --- a/shared/source/memory_manager/definitions/storage_info.cpp +++ b/shared/source/memory_manager/definitions/storage_info.cpp @@ -200,6 +200,7 @@ StorageInfo MemoryManager::createStorageInfoFromProperties(const AllocationPrope } } if (DebugManager.flags.ForceSingleTileAllocPlacement.get()) { + UNRECOVERABLE_IF(properties.allocationType == AllocationType::UNKNOWN); if ((1llu << (static_cast(properties.allocationType) - 1)) & DebugManager.flags.ForceSingleTileAllocPlacement.get()) { storageInfo.cloningOfPageTables = true; storageInfo.memoryBanks = preferredTile; diff --git a/shared/source/utilities/linux/timer_util.cpp b/shared/source/utilities/linux/timer_util.cpp index 80b53b25d7..51e3f95337 100644 --- a/shared/source/utilities/linux/timer_util.cpp +++ b/shared/source/utilities/linux/timer_util.cpp @@ -46,7 +46,9 @@ class Timer::TimerImpl { } TimerImpl &operator=(const TimerImpl &t) { - startTime = t.startTime; + if (this != &t) { + startTime = t.startTime; + } return *this; }