aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar David Garcia Quintas <dgq@google.com>2016-11-02 15:47:02 -0700
committerGravatar David Garcia Quintas <dgq@google.com>2016-11-02 15:47:02 -0700
commit5bdcd237fc907eb4dc334e89d8ae2fa00c0f2720 (patch)
tree380d011d3700f97f3a4b35e532c7326701b33e9d /src
parent11948f74414e6c95b81fbcc2f0d06afa0b1cbce5 (diff)
RR: Don't copy user_data is no vtable
Diffstat (limited to 'src')
-rw-r--r--src/core/ext/lb_policy/round_robin/round_robin.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/core/ext/lb_policy/round_robin/round_robin.c b/src/core/ext/lb_policy/round_robin/round_robin.c
index b0c461730b..427999aa6b 100644
--- a/src/core/ext/lb_policy/round_robin/round_robin.c
+++ b/src/core/ext/lb_policy/round_robin/round_robin.c
@@ -678,8 +678,10 @@ static grpc_lb_policy *round_robin_create(grpc_exec_ctx *exec_ctx,
sd->index = subchannel_idx;
sd->subchannel = subchannel;
sd->user_data_vtable = addresses->user_data_vtable;
- sd->user_data =
- sd->user_data_vtable->copy(addresses->addresses[i].user_data);
+ if (sd->user_data_vtable != NULL) {
+ sd->user_data =
+ sd->user_data_vtable->copy(addresses->addresses[i].user_data);
+ }
++subchannel_idx;
grpc_closure_init(&sd->connectivity_changed_closure,
rr_connectivity_changed, sd);