`IndexBitcodeWriter::writeModStrings()` serializes module path strings into a `SmallVector<unsigned>` before emitting `MST_CODE_ENTRY` records. When a path contains UTF-8 bytes with the high bit set, appending from `StringRef::begin()/end()` can be incorrect. Instead, append the module path through `bytes_begin()/bytes_end()`, so the bitcode writer always serializes unsigned bytes. Fixes: https://github.com/llvm/llvm-project/issues/194318 (#194318) Based on work by @kbelochapka and @romanova-ekaterina.