diff --git a/sqlx-postgres/src/connection/mod.rs b/sqlx-postgres/src/connection/mod.rs index 9003dcb338..5a6a597ead 100644 --- a/sqlx-postgres/src/connection/mod.rs +++ b/sqlx-postgres/src/connection/mod.rs @@ -102,7 +102,11 @@ impl PgConnection { #[inline(always)] fn handle_ready_for_query(&mut self, message: ReceivedMessage) -> Result<(), Error> { - self.pending_ready_for_query_count -= 1; + self.pending_ready_for_query_count = self + .pending_ready_for_query_count + .checked_sub(1) + .ok_or_else(|| err_protocol!("received more ReadyForQuery messages than expected"))?; + self.transaction_status = message.decode::()?.transaction_status; Ok(())