Skip to content

Commit ecacde4

Browse files
Merge pull request #13576 from jetty/jetty-12.1.x-lachlan-merge
Merge of 12.0.x to 12.1.x
2 parents b4a0a74 + 88a43db commit ecacde4

File tree

1 file changed

+2
-2
lines changed
  • jetty-core/jetty-http3/jetty-http3-common/src/main/java/org/eclipse/jetty/http3/generator

1 file changed

+2
-2
lines changed

jetty-core/jetty-http3/jetty-http3-common/src/main/java/org/eclipse/jetty/http3/generator/HeadersGenerator.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,9 @@ private long generateHeadersFrame(ByteBufferPool.Accumulator accumulator, long s
5353
int maxHeaderLength = frameTypeLength + VarLenInt.MAX_LENGTH;
5454
// The capacity of the buffer is larger than maxLength, but we need to enforce at most maxLength.
5555
int maxLength = encoder.getMaxHeadersSize();
56+
// Acquire buffer and immediately append to the accumulator so that it is released if a failure occurs.
5657
buffer = getByteBufferPool().acquire(maxHeaderLength + maxLength, useDirectByteBuffers);
58+
accumulator.append(buffer);
5759
try
5860
{
5961
ByteBuffer byteBuffer = buffer.getByteBuffer();
@@ -71,12 +73,10 @@ private long generateHeadersFrame(ByteBufferPool.Accumulator accumulator, long s
7173
VarLenInt.encode(byteBuffer, FrameType.HEADERS.type());
7274
VarLenInt.encode(byteBuffer, dataLength);
7375
byteBuffer.position(position);
74-
accumulator.append(buffer);
7576
return headerLength + dataLength;
7677
}
7778
catch (QpackException x)
7879
{
79-
buffer.release();
8080
if (fail != null)
8181
fail.accept(x);
8282
return -1;

0 commit comments

Comments
 (0)