Take as much as we can when opening, by making sure that the
boundary is not present
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;