comparison src/http/v3/ngx_http_v3_request.c @ 8408:5b367070cc9c quic

Fixed client buffer reallocation for HTTP/3. Preserving pointers within the client buffer is not needed for HTTP/3 because all data is either allocated from pool or static. Unlike with HTTP/1, data typically cannot be referenced directly within the client buffer. Trying to preserve NULLs or external pointers lead to broken pointers. Also, reverted changes in ngx_http_alloc_large_header_buffer() not relevant for HTTP/3 to minimize diff to mainstream.
author Roman Arutyunyan <arut@nginx.com>
date Tue, 19 May 2020 16:20:33 +0300
parents d6feece1288a
children 908cae4f3078
comparison
equal deleted inserted replaced
8407:d6feece1288a 8408:5b367070cc9c
58 goto failed; 58 goto failed;
59 } 59 }
60 60
61 r->h3_parse = st; 61 r->h3_parse = st;
62 r->parse_start = b->pos; 62 r->parse_start = b->pos;
63 r->state = 1;
63 } 64 }
64 65
65 while (b->pos < b->last) { 66 while (b->pos < b->last) {
66 rc = ngx_http_v3_parse_headers(c, st, *b->pos++); 67 rc = ngx_http_v3_parse_headers(c, st, *b->pos++);
67 68