comparison src/http/v3/ngx_http_v3_request.c @ 8219:1307308c3cf1 quic

Temporary fix for header null-termination in HTTP/3.
author Roman Arutyunyan <arut@nginx.com>
date Sat, 14 Mar 2020 13:18:55 +0300
parents 38c0898b6df7
children 268f4389130d
comparison
equal deleted inserted replaced
8218:33feac1e57ac 8219:1307308c3cf1
516 if (value.data == NULL) { 516 if (value.data == NULL) {
517 value = h->value; 517 value = h->value;
518 } 518 }
519 } 519 }
520 520
521 /* XXX ugly reallocation for the trailing '\0' */
522
523 p = ngx_pnalloc(c->pool, name.len + value.len + 2);
524 if (p == NULL) {
525 return NGX_ERROR;
526 }
527
528 ngx_memcpy(p, name.data, name.len);
529 name.data = p;
530 ngx_memcpy(p + name.len + 1, value.data, value.len);
531 value.data = p + name.len + 1;
532
521 ngx_log_debug2(NGX_LOG_DEBUG_HTTP, c->log, 0, 533 ngx_log_debug2(NGX_LOG_DEBUG_HTTP, c->log, 0,
522 "http3 header \"%V\":\"%V\"", &name, &value); 534 "http3 header \"%V\":\"%V\"", &name, &value);
523 535
524 if (pseudo) { 536 if (pseudo) {
525 rc = ngx_http_v3_process_pseudo_header(r, &name, &value); 537 rc = ngx_http_v3_process_pseudo_header(r, &name, &value);