From 390d3fc06f6cb7982f3031a9bef544dedac29349 Mon Sep 17 00:00:00 2001 From: Samuel Vargas Date: Thu, 20 Jan 2022 17:25:41 -0500 Subject: [PATCH] Fix invalid iterator access in Device.cpp / Instance.cpp --- src/Magnum/Vk/Device.cpp | 2 +- src/Magnum/Vk/Instance.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Magnum/Vk/Device.cpp b/src/Magnum/Vk/Device.cpp index 9de74bf72..93f2772b9 100644 --- a/src/Magnum/Vk/Device.cpp +++ b/src/Magnum/Vk/Device.cpp @@ -861,7 +861,7 @@ template void Device::initializeExtensions(const Containers::ArrayView< const auto found = std::lower_bound(knownExtensions.begin(), knownExtensions.end(), extension, [](const Extension& a, const T& b) { return a.string() < static_cast(b); }); - if(found->string() != extension) continue; + if(found == knownExtensions.end() || found->string() != extension) continue; _enabledExtensions.set(found->index(), true); } } diff --git a/src/Magnum/Vk/Instance.cpp b/src/Magnum/Vk/Instance.cpp index b1202d39e..6d0e90774 100644 --- a/src/Magnum/Vk/Instance.cpp +++ b/src/Magnum/Vk/Instance.cpp @@ -358,7 +358,7 @@ template void Instance::initializeExtensions(const Containers::ArrayVie const auto found = std::lower_bound(knownExtensions.begin(), knownExtensions.end(), extension, [](const InstanceExtension& a, const T& b) { return a.string() < static_cast(b); }); - if(found->string() != extension) continue; + if(found == knownExtensions.end() || found->string() != extension) continue; _extensionStatus.set(found->index(), true); } }