if (get_flags() & END_STREAM)
stream->set_end_stream(source_id);
+ // No need to process an empty headers frame
+ if (data.length() <= 0)
+ return;
+
uint8_t hpack_headers_offset = 0;
// Remove stream dependency if present
fprintf(output, "Error decoding headers.\n");
if (start_line)
start_line->print(output, "Decoded start-line");
- http1_header->print(output, "Decoded header");
+ if (http1_header)
+ http1_header->print(output, "Decoded header");
Http2Frame::print_frame(output);
}
#endif
// FIXIT-E Workaround for unexpected eval() calls
// Avoid eval if scan/reassemble aborts
- if (session_data->frame_type[source_id] == FT__ABORT)
+ if (session_data->frame_type[source_id] == FT__ABORT or
+ ((session_data->frame_header[source_id] == nullptr ) and
+ (session_data->frame_data[source_id] == nullptr)))
+ {
return;
+ }
Http2Stream* stream = session_data->get_current_stream(source_id);