Skip to content

Commit

Permalink
Reallocate a buffer for H2 header block only if needed (#10568)
Browse files Browse the repository at this point in the history
Co-authored-by: Bryan Call <bcall@apache.org>
(cherry picked from commit 65dd186)
  • Loading branch information
maskit authored and bryancall committed Oct 9, 2023
1 parent a49e575 commit 4ca137b
Showing 1 changed file with 4 additions and 2 deletions.
6 changes: 4 additions & 2 deletions proxy/http2/Http2ConnectionState.cc
Expand Up @@ -937,8 +937,10 @@ rcv_continuation_frame(Http2ConnectionState &cstate, const Http2Frame &frame)
"header blocks too large");
}

stream->header_blocks = static_cast<uint8_t *>(ats_realloc(stream->header_blocks, stream->header_blocks_length));
frame.reader()->memcpy(stream->header_blocks + header_blocks_offset, payload_length);
if (payload_length > 0) {
stream->header_blocks = static_cast<uint8_t *>(ats_realloc(stream->header_blocks, stream->header_blocks_length));
frame.reader()->memcpy(stream->header_blocks + header_blocks_offset, payload_length);
}

if (frame.header().flags & HTTP2_FLAGS_HEADERS_END_HEADERS) {
// NOTE: If there are END_HEADERS flag, decode stored Header Blocks.
Expand Down

0 comments on commit 4ca137b

Please sign in to comment.