mime: process chunk as soon as possible

In the case stream depth gets reached afterwards, it cannot be
processed after that.

Ticket: #6367
pull/9513/head
Philippe Antoine 3 years ago
parent af4bb917dc
commit 22ffdbb1b3

@ -1375,17 +1375,22 @@ static int ProcessBase64BodyLine(const uint8_t *buf, uint32_t len,
* size. We strip of spaces this while storing it in bvremain */
if (consumed_bytes == 0 && leftover_bytes > B64_BLOCK) {
DEBUG_VALIDATE_BUG_ON(state->bvr_len != 0);
return ProcessBase64BodyLineCopyRemainder(buf, len, offset, state);
ret = ProcessBase64BodyLineCopyRemainder(buf, len, offset, state);
break;
} else if (leftover_bytes > 0 && leftover_bytes <= B64_BLOCK) {
/* If remaining is 4 by this time, we encountered spaces during processing */
DEBUG_VALIDATE_BUG_ON(state->bvr_len != 0);
return ProcessBase64BodyLineCopyRemainder(buf, len, offset + consumed_bytes, state);
ret = ProcessBase64BodyLineCopyRemainder(buf, len, offset + consumed_bytes, state);
break;
}
/* Update counts */
remaining = leftover_bytes;
offset += consumed_bytes;
}
if (ret == MIME_DEC_OK && state->data_chunk_len > 0) {
ret = ProcessDecodedDataChunk(state->data_chunk, state->data_chunk_len, state);
}
return ret;
}

Loading…
Cancel
Save