From 1f3875995f599f70c9785f6971afa0f7638c61c6 Mon Sep 17 00:00:00 2001 From: Pierrick HYMBERT Date: Fri, 22 Mar 2024 14:44:07 +0100 Subject: [PATCH] llama_model_loader: put mapping in a unique_ptr from the moment it is allocated Co-authored-by: slaren --- llama.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/llama.cpp b/llama.cpp index 2332e7ecc..7da11d6be 100644 --- a/llama.cpp +++ b/llama.cpp @@ -3190,14 +3190,14 @@ struct llama_model_loader { mappings.reserve(files.size()); mmaps_used.reserve(files.size()); for (const auto & file : files) { - auto * mapping = new llama_mmap(file.get(), prefetch ? -1 : 0, ggml_is_numa()); + std::unique_ptr mapping(new llama_mmap(file.get(), prefetch ? -1 : 0, ggml_is_numa())); mmaps_used.emplace_back(std::make_pair(mapping->size, 0)); - mappings.emplace_back(std::unique_ptr(mapping)); if (mlock_mmaps) { - auto * mlock_mmap = new llama_mlock(); + std::unique_ptr mlock_mmap(new llama_mlock()); mlock_mmap->init(mapping->addr); - mlock_mmaps->emplace_back(std::unique_ptr(mlock_mmap)); + mlock_mmaps->emplace_back(std::move(mlock_mmap)); } + mappings.emplace_back(std::move(mapping)); } }