From a115acf2088a6bf4c9c9524991550c05b0bb5ca9 Mon Sep 17 00:00:00 2001 From: Jeff Lucovsky Date: Sun, 7 Jul 2024 10:29:00 -0400 Subject: [PATCH] smtp: Prevent error messages on packet path Issue: 7126 This commit abandons the use of StringParseUint32 which generates an error message of there are non-numeric characters. The SMTP parser had used this function on the packet path; this commit uses strtoul instead. An example of the content causing the error message to be emitted: 3460 LAST --- src/app-layer-smtp.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/app-layer-smtp.c b/src/app-layer-smtp.c index 7000b2ec0d..03260bfd3a 100644 --- a/src/app-layer-smtp.c +++ b/src/app-layer-smtp.c @@ -1004,7 +1004,7 @@ static int SMTPParseCommandBDAT(SMTPState *state, const SMTPLine *line) /* decoder event */ return -1; } - // copy in temporary null-terminated buffer to call StringParseUint32 + // copy in temporary null-terminated buffer for conversion char strbuf[24]; int len = 23; if (line->len - i < len) { @@ -1012,7 +1012,7 @@ static int SMTPParseCommandBDAT(SMTPState *state, const SMTPLine *line) } memcpy(strbuf, line->buf + i, len); strbuf[len] = '\0'; - if (StringParseUint32(&state->bdat_chunk_len, 10, 0, strbuf) < 0) { + if (ByteExtractStringUint32(&state->bdat_chunk_len, 10, 0, strbuf) < 0) { /* decoder event */ return -1; } -- 2.47.3