For now, it is not an issue, but it is safer to explicitly ignore HTX extra
field for responses with unknown length. This will be mandatory to future
fixes, to be able to re-chunk responses with an unknown length..
/* If is a new chunk, prepend the chunk size */
if (!h1m->curr_len) {
- h1m->curr_len = count + htx->extra;
+ h1m->curr_len = count + (htx->extra != HTX_UNKOWN_PAYLOAD_LENGTH ? htx->extra : 0);
h1_prepend_chunk_size(&h1c->obuf, h1m->curr_len);
}
h1m->curr_len -= count;
if (h1m->flags & H1_MF_CHNK) {
/* If is a new chunk, prepend the chunk size */
if (!h1m->curr_len) {
- h1m->curr_len = (htx->extra ? htx->data + htx->extra : vlen);
+ h1m->curr_len = (htx->extra && htx->extra != HTX_UNKOWN_PAYLOAD_LENGTH ? htx->data + htx->extra : vlen);
if (!h1_append_chunk_size(&outbuf, h1m->curr_len)) {
h1m->curr_len = 0;
goto full;