diff --git a/src/qpack-dec.c b/src/qpack-dec.c index bb960b4b94..09ec66d675 100644 --- a/src/qpack-dec.c +++ b/src/qpack-dec.c @@ -289,10 +289,10 @@ int qpack_decode_fs(const unsigned char *raw, size_t len, struct buffer *tmp, else if (efl_type & QPACK_IFL_BIT) { /* Indexed field line */ uint64_t index; - unsigned int t; + unsigned int static_tbl; qpack_debug_printf(stderr, "indexed field line:"); - t = efl_type & 0x40; + static_tbl = efl_type & 0x40; index = qpack_get_varint(&raw, &len, 6); if (len == (uint64_t)-1) { qpack_debug_printf(stderr, "##ERR@%d\n", __LINE__); @@ -300,10 +300,19 @@ int qpack_decode_fs(const unsigned char *raw, size_t len, struct buffer *tmp, goto out; } - if (t) { + if (static_tbl) { name = qpack_sht[index].n; value = qpack_sht[index].v; } + else { + /* TODO not implemented + * + * For the moment, this should never happen as + * currently we do not support dynamic table insertion + * and specify an empty table size. + */ + ABORT_NOW(); + } qpack_debug_printf(stderr, " t=%d index=%llu", !!t, (unsigned long long)index); }