aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar Muxi Yan <mxyan@google.com>2017-12-13 11:21:04 -0800
committerGravatar Muxi Yan <mxyan@google.com>2017-12-13 11:33:08 -0800
commit3cf3accd040b67329e8974b3eac86043c2609b79 (patch)
tree4f658c5430be2118ff9da2da0f6f04d28c17b7c0 /src
parent8cfaf4ec4fd2aa5197487664aea3a586f1217bad (diff)
Fix inline/refcounted slice problem in gzip
Diffstat (limited to 'src')
-rw-r--r--src/core/lib/compression/stream_compression_gzip.cc3
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);