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).
This commit is contained in:
Maxim Dounin 2018-03-22 19:26:25 +03:00
parent 8e8734ec82
commit 0ac57648eb

View File

@ -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;