Mercurial > hg > nginx
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); |