diff options
author | Craig Tiller <ctiller@google.com> | 2017-04-13 07:59:08 -0700 |
---|---|---|
committer | Craig Tiller <ctiller@google.com> | 2017-04-13 07:59:08 -0700 |
commit | 0362d6b374e4b10e324e09e750b88d6c6bc834d1 (patch) | |
tree | 20ece7f50bebc5b3d8ad43f06f7a161fca063b1f /src/core/lib | |
parent | 4d0ee2a56b71b3eae4865c6440362daebba0b5f7 (diff) |
ubsan fixes
Diffstat (limited to 'src/core/lib')
-rw-r--r-- | src/core/lib/channel/http_client_filter.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/core/lib/channel/http_client_filter.c b/src/core/lib/channel/http_client_filter.c index 4e47c5c658..255f5388aa 100644 --- a/src/core/lib/channel/http_client_filter.c +++ b/src/core/lib/channel/http_client_filter.c @@ -222,8 +222,10 @@ static void continue_send_message(grpc_exec_ctx *exec_ctx, while (grpc_byte_stream_next( exec_ctx, calld->send_op->payload->send_message.send_message, &calld->incoming_slice, ~(size_t)0, &calld->got_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) { |