From 6dbcb30eb95925b124129c35cdd2200701a6e88e Mon Sep 17 00:00:00 2001 From: Joris Vink Date: Tue, 6 Aug 2013 15:58:21 +0200 Subject: [PATCH] properly calculate if we need to expand the header block in spdy_header_block_add(). --- src/spdy.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/spdy.c b/src/spdy.c index f7ae1ec..de69e8a 100644 --- a/src/spdy.c +++ b/src/spdy.c @@ -218,13 +218,15 @@ void spdy_header_block_add(struct spdy_header_block *hblock, char *name, char *value) { u_int8_t *p; - u_int32_t nlen, vlen; + u_int32_t nlen, vlen, tlen; kore_debug("spdy_header_block_add(%p, %s, %s)", hblock, name, value); nlen = strlen(name); vlen = strlen(value); - if ((nlen + vlen + hblock->header_offset) > hblock->header_block_len) { + + tlen = nlen + 4 + vlen + 4; + if ((tlen + hblock->header_offset) > hblock->header_block_len) { hblock->header_block_len += nlen + vlen + 128; hblock->header_block = kore_realloc(hblock->header_block, hblock->header_block_len);