summaryrefslogtreecommitdiffstats
path: root/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_frame_chain.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_frame_chain.c')
-rw-r--r--src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_frame_chain.c17
1 files changed, 6 insertions, 11 deletions
diff --git a/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_frame_chain.c b/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_frame_chain.c
index 41c2a6a..25f9341 100644
--- a/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_frame_chain.c
+++ b/src/contrib/libngtcp2/ngtcp2/lib/ngtcp2_frame_chain.c
@@ -68,14 +68,11 @@ int ngtcp2_frame_chain_stream_datacnt_objalloc_new(ngtcp2_frame_chain **pfrc,
size_t datacnt,
ngtcp2_objalloc *objalloc,
const ngtcp2_mem *mem) {
- size_t need, avail = sizeof(ngtcp2_frame) - sizeof(ngtcp2_stream);
-
- if (datacnt > 1) {
- need = sizeof(ngtcp2_vec) * (datacnt - 1);
-
- if (need > avail) {
- return ngtcp2_frame_chain_extralen_new(pfrc, need - avail, mem);
- }
+ if (datacnt > NGTCP2_FRAME_CHAIN_STREAM_DATACNT_THRES) {
+ return ngtcp2_frame_chain_extralen_new(pfrc,
+ sizeof(ngtcp2_vec) * (datacnt - 1) -
+ NGTCP2_FRAME_CHAIN_STREAM_AVAIL,
+ mem);
}
return ngtcp2_frame_chain_objalloc_new(pfrc, objalloc);
@@ -139,9 +136,7 @@ void ngtcp2_frame_chain_objalloc_del(ngtcp2_frame_chain *frc,
switch (frc->fr.type) {
case NGTCP2_FRAME_CRYPTO:
case NGTCP2_FRAME_STREAM:
- if (frc->fr.stream.datacnt &&
- sizeof(ngtcp2_vec) * (frc->fr.stream.datacnt - 1) >
- sizeof(ngtcp2_frame) - sizeof(ngtcp2_stream)) {
+ if (frc->fr.stream.datacnt > NGTCP2_FRAME_CHAIN_STREAM_DATACNT_THRES) {
ngtcp2_frame_chain_del(frc, mem);
return;