From 9e3c0ac3f71cf2148e4788793efea5968f1a46b2 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Thu, 11 Jan 2024 01:15:28 +0100 Subject: loader: add missing null terminated flag --- loader/atlas.cpp | 5 +++-- loader/texture.cpp | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) (limited to 'loader') diff --git a/loader/atlas.cpp b/loader/atlas.cpp index 68a94f0b..7d8539da 100644 --- a/loader/atlas.cpp +++ b/loader/atlas.cpp @@ -22,8 +22,9 @@ StringView loader_::make_atlas_path(char(&buf)[FILENAME_MAX], StringView dir, St fm_soft_assert(dirsiz + namesiz + 1 < FILENAME_MAX); std::memcpy(buf, dir.data(), dirsiz); std::memcpy(&buf[dirsiz], name.data(), namesiz); - buf[dirsiz + namesiz] = '\0'; - return StringView{buf}; + auto len = dirsiz + namesiz; + buf[len] = '\0'; + return StringView{buf, len, StringViewFlag::NullTerminated}; } bool loader_::check_atlas_name(StringView str) noexcept diff --git a/loader/texture.cpp b/loader/texture.cpp index a12986b4..60372d00 100644 --- a/loader/texture.cpp +++ b/loader/texture.cpp @@ -33,7 +33,7 @@ Trade::ImageData2D loader_impl::texture(StringView prefix, StringView filename_, fm_soft_assert(len + extension.size() < std::size(buf)); std::memcpy(buf + len, extension.data(), extension.size()); buf[len + extension.size()] = '\0'; - auto path = StringView{buf, len + extension.size()}; + auto path = StringView{buf, len + extension.size(), StringViewFlag::NullTerminated}; fm_debug_assert(path.size() < std::size(buf)); auto& importer = extension == ".tga"_s ? tga_importer : image_importer; if (Path::exists(path) && importer->openFile(path)) -- cgit v1.2.3