diff --git a/framed/src/bytes.rs b/framed/src/bytes.rs index 0dcacb4..92cafb3 100644 --- a/framed/src/bytes.rs +++ b/framed/src/bytes.rs @@ -309,8 +309,13 @@ impl Codec { _header, body, footer); } - let decoded_len = cobs::decode(body, dest) - .map_err(|_| Error::CobsDecodeFailed)?; + let decoded_len = + if body.len() == 0 { + 0 + } else { + cobs::decode(body, dest) + .map_err(|_| Error::CobsDecodeFailed)? + }; let decoded = &dest[0..decoded_len];