diff --git a/zcash_primitives/src/note_encryption.rs b/zcash_primitives/src/note_encryption.rs index dd1bf91..e4886b3 100644 --- a/zcash_primitives/src/note_encryption.rs +++ b/zcash_primitives/src/note_encryption.rs @@ -123,13 +123,11 @@ impl Memo { pub fn to_utf8(&self) -> Option> { // Check if it is a text or binary memo if self.0[0] < 0xF5 { - // Drop trailing zeroes - let mut data = &self.0[..]; - while let Some((0, next)) = data.split_last() { - data = next; - } // Check if it is valid UTF8 - Some(str::from_utf8(data).map(|memo| memo.to_owned())) + Some(str::from_utf8(&self.0).map(|memo| { + // Drop trailing zeroes + memo.trim_end_matches(char::from(0)).to_owned() + })) } else { None }