comparison src/event/quic/ngx_event_quic_transport.c @ 9281:081d4beeb591

QUIC: client transport parameter data length checking.
author Sergey Kandaurov <pluknet@nginx.com>
date Tue, 28 May 2024 17:17:19 +0400
parents 7ec761f0365f
children
comparison
equal deleted inserted replaced
9280:da400acf3756 9281:081d4beeb591
1748 "quic failed to parse" 1748 "quic failed to parse"
1749 " transport param id:0x%xL length", id); 1749 " transport param id:0x%xL length", id);
1750 return NGX_ERROR; 1750 return NGX_ERROR;
1751 } 1751 }
1752 1752
1753 if ((size_t) (end - p) < len) {
1754 ngx_log_error(NGX_LOG_INFO, log, 0,
1755 "quic failed to parse"
1756 " transport param id:0x%xL, data length %uL too long",
1757 id, len);
1758 return NGX_ERROR;
1759 }
1760
1753 rc = ngx_quic_parse_transport_param(p, p + len, id, tp); 1761 rc = ngx_quic_parse_transport_param(p, p + len, id, tp);
1754 1762
1755 if (rc == NGX_ERROR) { 1763 if (rc == NGX_ERROR) {
1756 ngx_log_error(NGX_LOG_INFO, log, 0, 1764 ngx_log_error(NGX_LOG_INFO, log, 0,
1757 "quic failed to parse" 1765 "quic failed to parse"