diff --git a/mqtt/src/client/client.rs b/mqtt/src/client/client.rs index f334642..8362ddd 100644 --- a/mqtt/src/client/client.rs +++ b/mqtt/src/client/client.rs @@ -473,7 +473,10 @@ async fn receive_packet<'c, T:NetworkConnection>(buffer: & mut [u8],buffer_len: let len: usize = conn.receive(recv_buffer).await?; if len > 0 { trace!("Received len: {}", len); - writer.insert_ref(len, &recv_buffer) ?; + if Err(e) = writer.insert_ref(len, &recv_buffer) { + error!("Buffer operation failed with: {}", e); + return Err(ReasonCode::BuffError); + } if writer.position >= 1 && target_len == 0 { let tmp_rem_len = writer.get_rem_len();