http: complete multipart data on open

Take as much as we can when opening, by making sure that the
boundary is not present
pull/8965/head
Philippe Antoine 3 years ago committed by Victor Julien
parent abc76e27de
commit 82803d1b0e

@ -1604,6 +1604,16 @@ static int HtpRequestBodyHandleMultipart(HtpState *hstate, HtpTxUserData *htud,
if (filedata_len >= (uint32_t)(expected_boundary_len + 2)) {
filedata_len -= (expected_boundary_len + 2 - 1);
// take as much as we can until start of boundary
for (size_t nb = 0; nb < (size_t)expected_boundary_len + 1; nb++) {
if (filedata[filedata_len] == '\r') {
if (nb == expected_boundary_len ||
filedata[filedata_len + 1] == '\n') {
break;
}
}
filedata_len++;
}
SCLogDebug("opening file with partial data");
} else {
filedata = NULL;

Loading…
Cancel
Save