An official read-only mirror of http://hg.nginx.org/nginx/ which is updated hourly. Pull requests on GitHub cannot be accepted and will be automatically closed. The proper way to submit changes to nginx is via the nginx development mailing list, see http://nginx.org/en/docs/contributing_changes.html
Go to file
Sergey Kandaurov 586ef968f9 HTTP/2: avoid left-shifting signed integer into the sign bit.
On non-aligned platforms, properly cast argument before left-shifting it in
ngx_http_v2_parse_uint32 that is used with u_char.  Otherwise it propagates
to int to hold the value and can step over the sign bit.  Usually, on known
compilers, this results in negation.  Furthermore, a subsequent store into a
wider type, that is ngx_uint_t on 64-bit platforms, results in sign-extension.

In practice, this can be observed in debug log as a very large exclusive bit
value, when client sent PRIORITY frame with exclusive bit set:

: *14 http2 PRIORITY frame sid:5 on 1 excl:8589934591 weight:17

Found with UndefinedBehaviorSanitizer.
2016-07-07 21:03:21 +03:00
auto Configure: stop polluting NGX_ namespace. 2016-06-27 15:00:06 -07:00
conf Added the REQUEST_SCHEME parameter. 2015-06-05 22:23:26 +03:00
contrib Fixed spelling. 2016-04-07 11:50:13 +03:00
docs nginx-1.11.2-RELEASE 2016-07-05 18:56:14 +03:00
misc Updated PCRE used for win32 builds. 2016-07-05 18:30:56 +03:00
src HTTP/2: avoid left-shifting signed integer into the sign bit. 2016-07-07 21:03:21 +03:00
.hgtags release-1.11.2 tag 2016-07-05 18:56:14 +03:00