From 24375a1fef1ed2aa5e5ad1f5a44442b222c05dee Mon Sep 17 00:00:00 2001 From: Juliana Fajardini Date: Fri, 7 Feb 2025 12:16:53 -0300 Subject: [PATCH] pgsql/parser: fix response message length Some backend messages can be the shortest pgsql length possible, 4 bytes, but the parser expectd all messages to be longer than that. Related to Bug #5524 --- rust/src/pgsql/parser.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rust/src/pgsql/parser.rs b/rust/src/pgsql/parser.rs index aa34acb4e5..2656b48042 100644 --- a/rust/src/pgsql/parser.rs +++ b/rust/src/pgsql/parser.rs @@ -727,7 +727,7 @@ pub fn parse_request(i: &[u8]) -> IResult<&[u8], PgsqlFEMessage> { b'X' => parse_terminate_message(i)?, _ => { let (i, identifier) = be_u8(i)?; - let (i, length) = verify(be_u32, |&x| x > PGSQL_LENGTH_FIELD)(i)?; + let (i, length) = verify(be_u32, |&x| x >= PGSQL_LENGTH_FIELD)(i)?; let (i, payload) = take(length - PGSQL_LENGTH_FIELD)(i)?; let unknown = PgsqlFEMessage::UnknownMessageType(RegularPacket { identifier, -- 2.47.3