diff --git a/src/add-ons/kernel/partitioning_systems/efi/efi_gpt.cpp b/src/add-ons/kernel/partitioning_systems/efi/efi_gpt.cpp index 4096295826..ea554a9047 100644 --- a/src/add-ons/kernel/partitioning_systems/efi/efi_gpt.cpp +++ b/src/add-ons/kernel/partitioning_systems/efi/efi_gpt.cpp @@ -167,7 +167,9 @@ to_ucs2(const char *from, size_t fromLength, uint16 *to, size_t maxToLength) size_t index = 0; while (from[0] && index < maxToLength) { // TODO: handle characters that are not representable in UCS-2 better - to[index++] = UTF8ToCharCode(&from); + uint32 code = UTF8ToCharCode(&from); + if (code < 0x10000) + to[index++] = code; } if (index < maxToLength)