# HG changeset patch # User Maxim Dounin # Date 1521735985 -10800 # Node ID 070c972336c4fe80c63fa3977c24f3e4788340e0 # Parent fdd6a070d51863ba7e1c7acde8796c3a8fe76c10 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). diff -r fdd6a070d518 -r 070c972336c4 src/http/modules/ngx_http_grpc_module.c --- a/src/http/modules/ngx_http_grpc_module.c Thu Mar 22 18:13:33 2018 +0300 +++ b/src/http/modules/ngx_http_grpc_module.c Thu Mar 22 19:26:25 2018 +0300 @@ -3212,7 +3212,7 @@ 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 @@ break; case sw_error: - ctx->error = ch << 24; + ctx->error = (ngx_uint_t) ch << 24; state = sw_error_2; break; @@ -3555,7 +3555,7 @@ break; case sw_value: - ctx->setting_value = ch << 24; + ctx->setting_value = (ngx_uint_t) ch << 24; state = sw_value_2; break;