diff --git a/src/nouveau/compiler/nak/nir_instr_printer.rs b/src/nouveau/compiler/nak/nir_instr_printer.rs index bfd21e778d2..d46373c4932 100644 --- a/src/nouveau/compiler/nak/nir_instr_printer.rs +++ b/src/nouveau/compiler/nak/nir_instr_printer.rs @@ -32,8 +32,11 @@ impl NirInstrPrinter { unsafe { let stream = self.stream.as_mut().get_unchecked_mut(); nak_nir_asprint_instr(stream, instr); - let c_str = std::ffi::CStr::from_ptr(stream.buffer); - let string = c_str.to_string_lossy().into_owned(); + let bytes = std::slice::from_raw_parts( + stream.buffer as *const u8, + stream.written, + ); + let string = String::from_utf8_lossy(bytes).into_owned(); nak_clear_memstream(stream); string }