sl->info.req.meth = find_http_meth(meth.ptr, meth.len);
- if (isttest(authority))
- htx_add_header(htx, ist("host"), authority);
+ if (isttest(authority)) {
+ if (!htx_add_header(htx, ist("host"), authority)) {
+ h3c->err = H3_INTERNAL_ERROR;
+ len = -1;
+ goto out;
+ }
+ }
/* now treat standard headers */
while (1) {
}
}
- htx_add_header(htx, list[hdr_idx].n, list[hdr_idx].v);
+ if (!htx_add_header(htx, list[hdr_idx].n, list[hdr_idx].v)) {
+ h3c->err = H3_INTERNAL_ERROR;
+ len = -1;
+ goto out;
+ }
++hdr_idx;
}
}
}
- htx_add_endof(htx, HTX_BLK_EOH);
+ if (!htx_add_endof(htx, HTX_BLK_EOH)) {
+ h3c->err = H3_INTERNAL_ERROR;
+ len = -1;
+ goto out;
+ }
+
if (fin)
htx->flags |= HTX_FL_EOM;