aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/ext/filters/http/client/http_client_filter.c
diff options
context:
space:
mode:
authorGravatar David G. Quintas <dgq@google.com>2017-04-14 18:14:36 -0700
committerGravatar GitHub <noreply@github.com>2017-04-14 18:14:36 -0700
commit644e05e79ba04fb0f424cbb8dffce6c3cd3913ec (patch)
tree473bb54d4fee8c576f22e882a62e5e60780f5318 /src/core/ext/filters/http/client/http_client_filter.c
parent52ff44f0d6e5af8428bc9a868593f20c954133dc (diff)
parent2f4679ea348637cd5882ace228f2dc6bc0649d4c (diff)
Merge pull request #10664 from dgquintas/http_filter_slices
Fix handling of slice in http_client_filter
Diffstat (limited to 'src/core/ext/filters/http/client/http_client_filter.c')
-rw-r--r--src/core/ext/filters/http/client/http_client_filter.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/src/core/ext/filters/http/client/http_client_filter.c b/src/core/ext/filters/http/client/http_client_filter.c
index 63b33ccef4..bf5fbc7da7 100644
--- a/src/core/ext/filters/http/client/http_client_filter.c
+++ b/src/core/ext/filters/http/client/http_client_filter.c
@@ -323,7 +323,6 @@ static grpc_error *hc_mutate_op(grpc_exec_ctx *exec_ctx,
estimated_len += grpc_base64_estimate_encoded_size(
op->payload->send_message.send_message->length, k_url_safe,
k_multi_line);
- estimated_len += 1; /* for the trailing 0 */
grpc_slice path_with_query_slice = grpc_slice_malloc(estimated_len);
/* memcopy individual pieces into this slice */
@@ -345,7 +344,7 @@ static grpc_error *hc_mutate_op(grpc_exec_ctx *exec_ctx,
char *t = (char *)GRPC_SLICE_START_PTR(path_with_query_slice);
/* safe to use strlen since base64_encode will always add '\0' */
path_with_query_slice =
- grpc_slice_sub(path_with_query_slice, 0, strlen(t));
+ grpc_slice_sub_no_ref(path_with_query_slice, 0, strlen(t));
/* substitute previous path with the new path+query */
grpc_mdelem mdelem_path_and_query = grpc_mdelem_from_slices(
@@ -359,7 +358,6 @@ static grpc_error *hc_mutate_op(grpc_exec_ctx *exec_ctx,
calld->on_complete = op->on_complete;
op->on_complete = &calld->hc_on_complete;
op->send_message = false;
- grpc_slice_unref_internal(exec_ctx, path_with_query_slice);
} else {
/* Not all data is available. Fall back to POST. */
gpr_log(GPR_DEBUG,