From: Winston Ma Date: Thu, 28 May 2026 10:46:07 +0000 (+0800) Subject: vulkan: Fix memory logger unsafe iterator access (#23667) X-Git-Tag: upstream/0.0.10438~1057 X-Git-Url: https://git.djapps.eu/?a=commitdiff_plain;h=91eb8f4fa02b4147194bdb6eb67c784babae001c;p=pkg%2Fggml%2Fsources%2Fllama.cpp vulkan: Fix memory logger unsafe iterator access (#23667) --- diff --git a/ggml/src/ggml-vulkan/ggml-vulkan.cpp b/ggml/src/ggml-vulkan/ggml-vulkan.cpp index fb07282ef..b8ac4a9c2 100644 --- a/ggml/src/ggml-vulkan/ggml-vulkan.cpp +++ b/ggml/src/ggml-vulkan/ggml-vulkan.cpp @@ -2095,9 +2095,9 @@ void vk_memory_logger::log_deallocation(vk_buffer_ref buf_ref) { const bool device = bool(buf->memory_property_flags & vk::MemoryPropertyFlagBits::eDeviceLocal); std::string type = device ? "device" : "host"; auto it = allocations.find(buf->buffer); - total_device -= device ? it->second : 0; - total_host -= device ? 0 : it->second; if (it != allocations.end()) { + total_device -= device ? it->second : 0; + total_host -= device ? 0 : it->second; VK_LOG_MEMORY(buf->device->name << ": -" << format_size(it->second) << " " << type << " at " << buf->buffer << ". Total device: " << format_size(total_device) << ", total host: " << format_size(total_host)); allocations.erase(it); } else {