From 9e3ece49d7b1cc8f2b3861c1716b83a9e074a42a Mon Sep 17 00:00:00 2001 From: Austin Bonander Date: Fri, 23 Aug 2024 22:03:19 -0700 Subject: [PATCH] fix(postgres): use checked decrement on `pending_ready_for_query_count` --- sqlx-postgres/src/connection/mod.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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(())