aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMaxim Dounin <mdounin@mdounin.ru>2018-03-22 19:26:25 +0300
committerMaxim Dounin <mdounin@mdounin.ru>2018-03-22 19:26:25 +0300
commit0ac57648ebc93358e977939bfcb9d1e67485b98e (patch)
treec3b0f0832fd2892d8029578c113b67ff5b4d5b99 /src
parent8e8734ec82cde91a02d0cbfaae0d0df6b5aaab14 (diff)
downloadnginx-0ac57648ebc93358e977939bfcb9d1e67485b98e.tar.gz
nginx-0ac57648ebc93358e977939bfcb9d1e67485b98e.zip
gRPC: fixed possible sign extension of error and setting_value.
All cases are harmless and should not happen on valid values, though can result in bad values being shown incorrectly in logs. Found by Coverity (CID 1430311, 1430312, 1430313).
Diffstat (limited to 'src')
-rw-r--r--src/http/modules/ngx_http_grpc_module.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/http/modules/ngx_http_grpc_module.c b/src/http/modules/ngx_http_grpc_module.c
index b6be9b874..837ad9a2e 100644
--- a/src/http/modules/ngx_http_grpc_module.c
+++ b/src/http/modules/ngx_http_grpc_module.c
@@ -3212,7 +3212,7 @@ ngx_http_grpc_parse_rst_stream(ngx_http_request_t *r, ngx_http_grpc_ctx_t *ctx,
switch (state) {
case sw_start:
- ctx->error = ch << 24;
+ ctx->error = (ngx_uint_t) ch << 24;
state = sw_error_2;
break;
@@ -3325,7 +3325,7 @@ ngx_http_grpc_parse_goaway(ngx_http_request_t *r, ngx_http_grpc_ctx_t *ctx,
break;
case sw_error:
- ctx->error = ch << 24;
+ ctx->error = (ngx_uint_t) ch << 24;
state = sw_error_2;
break;
@@ -3555,7 +3555,7 @@ ngx_http_grpc_parse_settings(ngx_http_request_t *r, ngx_http_grpc_ctx_t *ctx,
break;
case sw_value:
- ctx->setting_value = ch << 24;
+ ctx->setting_value = (ngx_uint_t) ch << 24;
state = sw_value_2;
break;