From 86992a96b8ae77c879e1f4b9c55ec05bfccec0a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sybren=20A=2E=20St=C3=BCvel?= Date: Mon, 6 Dec 2021 17:42:07 +0100 Subject: Asset Indexer: use fixed-length string for ID code Use fixed-length string to convert `char[2]` to `std::string`. Otherwise `strlen()` is called, which is problematic as the `char[2]` is not zero-terminated. --- source/blender/editors/asset/intern/asset_indexer.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'source/blender/editors') diff --git a/source/blender/editors/asset/intern/asset_indexer.cc b/source/blender/editors/asset/intern/asset_indexer.cc index 8472b33d3af..4107d28b5e3 100644 --- a/source/blender/editors/asset/intern/asset_indexer.cc +++ b/source/blender/editors/asset/intern/asset_indexer.cc @@ -237,7 +237,7 @@ struct AssetEntryWriter { char idcode_prefix[2]; /* Similar to `BKE_libblock_alloc`. */ *((short *)idcode_prefix) = idcode; - std::string name_with_idcode = std::string(idcode_prefix) + name; + std::string name_with_idcode = std::string(idcode_prefix, sizeof(idcode_prefix)) + name; attributes.append_as(std::pair(ATTRIBUTE_ENTRIES_NAME, new StringValue(name_with_idcode))); } -- cgit v1.2.3