diff options
author | Sergey Kandaurov <pluknet@nginx.com> | 2025-02-27 18:42:06 +0400 |
---|---|---|
committer | pluknet <pluknet@nginx.com> | 2025-04-09 19:37:51 +0400 |
commit | a813c639211728a1441945dee149b44a0935f48b (patch) | |
tree | 2fbcd0c279f5fd84f697547c22e7702a90dffec5 /src/http/ngx_http_request.c | |
parent | d31305653701bd99e8e5e6aa48094599a08f9f12 (diff) | |
download | nginx-a813c639211728a1441945dee149b44a0935f48b.tar.gz nginx-a813c639211728a1441945dee149b44a0935f48b.zip |
Charset filter: improved validation of charset_map with utf-8.
It was possible to write outside of the buffer used to keep UTF-8
decoded values when parsing conversion table configuration.
Since this happened before UTF-8 decoding, the fix is to check in
advance if character codes are of more than 3-byte sequence. Note
that this is already enforced by a later check for ngx_utf8_decode()
decoded values for 0xffff, which corresponds to the maximum value
encoded as a valid 3-byte sequence, so the fix does not affect the
valid values.
Found with AddressSanitizer.
Fixes GitHub issue #529.
Diffstat (limited to 'src/http/ngx_http_request.c')
0 files changed, 0 insertions, 0 deletions