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
pull/11809/head
Jeff Lucovsky 1 year ago committed by Victor Julien
parent 2b1ad81cf5
commit a115acf208

@ -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;
}

Loading…
Cancel
Save