From 46bc140ad22444c6a43eb0c8eecae58b12e633df Mon Sep 17 00:00:00 2001 From: Manish Goregaokar Date: Fri, 5 May 2017 14:47:48 -0700 Subject: [PATCH] Make escape_char safe --- src/json.rs | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/json.rs b/src/json.rs index e478fe8..91c4b18 100644 --- a/src/json.rs +++ b/src/json.rs @@ -521,9 +521,8 @@ fn escape_str(wr: &mut fmt::Write, v: &str) -> EncodeResult<()> { fn escape_char(writer: &mut fmt::Write, v: char) -> EncodeResult<()> { let mut buf = [0; 4]; - let _ = write!(&mut &mut buf[..], "{}", v); - let buf = unsafe { str::from_utf8_unchecked(&buf[..v.len_utf8()]) }; - escape_str(writer, buf) + let s = v.encode_utf8(&mut buf); + escape_str(writer, s) } fn spaces(wr: &mut fmt::Write, n: u32) -> EncodeResult<()> {