diff options
author | Maxim Dounin <mdounin@mdounin.ru> | 2018-03-22 19:26:25 +0300 |
---|---|---|
committer | Maxim Dounin <mdounin@mdounin.ru> | 2018-03-22 19:26:25 +0300 |
commit | 0ac57648ebc93358e977939bfcb9d1e67485b98e (patch) | |
tree | c3b0f0832fd2892d8029578c113b67ff5b4d5b99 | |
parent | 8e8734ec82cde91a02d0cbfaae0d0df6b5aaab14 (diff) | |
download | nginx-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).
-rw-r--r-- | src/http/modules/ngx_http_grpc_module.c | 6 |
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; |