detect: transforms check for 0-sized buffer

So as to avoid undefined behavior with a 0-sized variable length
array

Ticket: #5521
(cherry picked from commit 61b73416e2)
pull/7878/head
Philippe Antoine 3 years ago committed by Victor Julien
parent fff9d529b7
commit dbadca1567

@ -107,6 +107,10 @@ static void TransformCompressWhitespace(InspectionBuffer *buffer, void *options)
{
const uint8_t *input = buffer->inspect;
const uint32_t input_len = buffer->inspect_len;
if (input_len == 0) {
return;
}
uint8_t output[input_len]; // we can only shrink
uint8_t *oi = output, *os = output;

@ -102,6 +102,9 @@ static void TransformStripWhitespace(InspectionBuffer *buffer, void *options)
{
const uint8_t *input = buffer->inspect;
const uint32_t input_len = buffer->inspect_len;
if (input_len == 0) {
return;
}
uint8_t output[input_len]; // we can only shrink
uint8_t *oi = output, *os = output;

@ -119,6 +119,9 @@ static void TransformUrlDecode(InspectionBuffer *buffer, void *options)
const uint8_t *input = buffer->inspect;
const uint32_t input_len = buffer->inspect_len;
if (input_len == 0) {
return;
}
uint8_t output[input_len]; // we can only shrink
changed = BufferUrlDecode(input, input_len, output, &output_size);

Loading…
Cancel
Save