From: Juliana Fajardini Date: Fri, 7 Feb 2025 15:16:53 +0000 (-0300) Subject: pgsql/parser: fix response message length X-Git-Tag: suricata-8.0.0-beta1~415 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=24375a1fef1ed2aa5e5ad1f5a44442b222c05dee;p=thirdparty%2Fsuricata.git 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 --- 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,