aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/lib/compression/stream_compression_gzip.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/lib/compression/stream_compression_gzip.cc')
-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);