aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Craig Tiller <ctiller@google.com>2017-10-17 09:12:34 -0700
committerGravatar Craig Tiller <ctiller@google.com>2017-10-17 09:12:34 -0700
commit658f5bd85adc34475c1f2d06e46d56fdf79c10eb (patch)
treeb5d6c6f4739d027cfa7446ceb497dba57dc9e6c2
parent97633744fa8d6c25b2c62024355d98ef7a24e8a5 (diff)
Fix ubsan reported failure
-rw-r--r--src/core/lib/iomgr/ev_epollex_linux.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/core/lib/iomgr/ev_epollex_linux.cc b/src/core/lib/iomgr/ev_epollex_linux.cc
index 1e8de8910e..8035159b5a 100644
--- a/src/core/lib/iomgr/ev_epollex_linux.cc
+++ b/src/core/lib/iomgr/ev_epollex_linux.cc
@@ -1323,8 +1323,10 @@ static void pollset_set_add_pollset_set(grpc_exec_ctx *exec_ctx,
a->pollsets = (pollable **)gpr_realloc(
a->pollsets, a->pollset_capacity * sizeof(*a->pollsets));
}
- memcpy(a->pollsets + a->pollset_count, b->pollsets,
- b->pollset_count * sizeof(*b->pollsets));
+ if (b->pollset_count > 0) {
+ memcpy(a->pollsets + a->pollset_count, b->pollsets,
+ b->pollset_count * sizeof(*b->pollsets));
+ }
a->pollset_count += b->pollset_count;
gpr_free(b->fds);
gpr_free(b->pollsets);