aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/ext/lb_policy
diff options
context:
space:
mode:
authorGravatar Vijay Pai <vpai@google.com>2016-11-02 23:27:36 -0700
committerGravatar Vijay Pai <vpai@google.com>2016-11-02 23:27:36 -0700
commit507e08a6a2f483d1af4f182f309e05024fc1c59b (patch)
tree9548e96ee2891a96cf4cc2d34d6feaa983d7830f /src/core/ext/lb_policy
parentc21e94cea1d80fb91fad72537d969be21060ef3a (diff)
parentb37ace5d279925ecd7f8dd6dca03e20cb066ae50 (diff)
Merge branch 'master' into rbfix
Diffstat (limited to 'src/core/ext/lb_policy')
-rw-r--r--src/core/ext/lb_policy/grpclb/grpclb.c2
-rw-r--r--src/core/ext/lb_policy/round_robin/round_robin.c6
2 files changed, 5 insertions, 3 deletions
diff --git a/src/core/ext/lb_policy/grpclb/grpclb.c b/src/core/ext/lb_policy/grpclb/grpclb.c
index 734108a9db..30e412e358 100644
--- a/src/core/ext/lb_policy/grpclb/grpclb.c
+++ b/src/core/ext/lb_policy/grpclb/grpclb.c
@@ -402,7 +402,7 @@ static void parse_server(const grpc_grpclb_server *server,
} else if (ip->size == 16) {
addr->len = sizeof(struct sockaddr_in6);
struct sockaddr_in6 *addr6 = (struct sockaddr_in6 *)&addr->addr;
- addr6->sin6_family = AF_INET;
+ addr6->sin6_family = AF_INET6;
memcpy(&addr6->sin6_addr, ip->bytes, ip->size);
addr6->sin6_port = netorder_port;
}
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);