diff options
author | Muxi Yan <mxyan@google.com> | 2017-12-13 11:21:04 -0800 |
---|---|---|
committer | Muxi Yan <mxyan@google.com> | 2017-12-13 11:33:08 -0800 |
commit | 3cf3accd040b67329e8974b3eac86043c2609b79 (patch) | |
tree | 4f658c5430be2118ff9da2da0f6f04d28c17b7c0 /src | |
parent | 8cfaf4ec4fd2aa5197487664aea3a586f1217bad (diff) |
Fix inline/refcounted slice problem in gzip
Diffstat (limited to 'src')
-rw-r--r-- | src/core/lib/compression/stream_compression_gzip.cc | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/core/lib/compression/stream_compression_gzip.cc b/src/core/lib/compression/stream_compression_gzip.cc index 9d829b31db..897f3918a7 100644 --- a/src/core/lib/compression/stream_compression_gzip.cc +++ b/src/core/lib/compression/stream_compression_gzip.cc @@ -114,7 +114,8 @@ static bool gzip_flate(grpc_stream_compression_context_gzip* ctx, if (ctx->zs.avail_out == 0) { grpc_slice_buffer_add(out, slice_out); } else if (ctx->zs.avail_out < slice_size) { - slice_out.data.refcounted.length -= ctx->zs.avail_out; + size_t len = GRPC_SLICE_LENGTH(slice_out); + GRPC_SLICE_SET_LENGTH(slice_out, len - ctx->zs.avail_out); grpc_slice_buffer_add(out, slice_out); } else { grpc_slice_unref_internal(slice_out); |