diff options
author | Muxi Yan <mxyan@google.com> | 2017-04-14 00:15:53 -0700 |
---|---|---|
committer | Muxi Yan <mxyan@google.com> | 2017-04-14 00:15:53 -0700 |
commit | 4f505464bdd8435a1ffe345357e30bb63fbf2120 (patch) | |
tree | db4862d5ecc81cb1979afbd584e78e000e2b0fbf /src/core/lib/channel | |
parent | dd475487c20d8ae44fc5bb36afc50592807b44de (diff) | |
parent | b575394351209239b754b99b3839ba4c799fc831 (diff) |
Merge remote-tracking branch 'upstream/master' into revert-10619-revert-9626-lazy-deframe
Diffstat (limited to 'src/core/lib/channel')
-rw-r--r-- | src/core/lib/channel/http_client_filter.c | 6 | ||||
-rw-r--r-- | src/core/lib/channel/message_size_filter.c | 4 |
2 files changed, 6 insertions, 4 deletions
diff --git a/src/core/lib/channel/http_client_filter.c b/src/core/lib/channel/http_client_filter.c index 151fb9885d..2affe1762d 100644 --- a/src/core/lib/channel/http_client_filter.c +++ b/src/core/lib/channel/http_client_filter.c @@ -225,8 +225,10 @@ static void continue_send_message(grpc_exec_ctx *exec_ctx, grpc_byte_stream_pull(exec_ctx, calld->send_op->payload->send_message.send_message, &calld->incoming_slice); - memcpy(wrptr, GRPC_SLICE_START_PTR(calld->incoming_slice), - GRPC_SLICE_LENGTH(calld->incoming_slice)); + if (GRPC_SLICE_LENGTH(calld->incoming_slice) > 0) { + memcpy(wrptr, GRPC_SLICE_START_PTR(calld->incoming_slice), + GRPC_SLICE_LENGTH(calld->incoming_slice)); + } wrptr += GRPC_SLICE_LENGTH(calld->incoming_slice); grpc_slice_buffer_add(&calld->slices, calld->incoming_slice); if (calld->send_length == calld->slices.length) { diff --git a/src/core/lib/channel/message_size_filter.c b/src/core/lib/channel/message_size_filter.c index c12fabb37c..c80b48ee13 100644 --- a/src/core/lib/channel/message_size_filter.c +++ b/src/core/lib/channel/message_size_filter.c @@ -122,7 +122,7 @@ static void recv_message_ready(grpc_exec_ctx* exec_ctx, void* user_data, (*calld->recv_message)->length, calld->max_recv_size); grpc_error* new_error = grpc_error_set_int( GRPC_ERROR_CREATE_FROM_COPIED_STRING(message_string), - GRPC_ERROR_INT_GRPC_STATUS, GRPC_STATUS_INVALID_ARGUMENT); + GRPC_ERROR_INT_GRPC_STATUS, GRPC_STATUS_RESOURCE_EXHAUSTED); if (error == GRPC_ERROR_NONE) { error = new_error; } else { @@ -152,7 +152,7 @@ static void start_transport_stream_op_batch( exec_ctx, op, grpc_error_set_int(GRPC_ERROR_CREATE_FROM_COPIED_STRING(message_string), GRPC_ERROR_INT_GRPC_STATUS, - GRPC_STATUS_INVALID_ARGUMENT)); + GRPC_STATUS_RESOURCE_EXHAUSTED)); gpr_free(message_string); return; } |