diff options
author | 2016-04-12 19:29:22 +0200 | |
---|---|---|
committer | 2016-04-12 19:29:22 +0200 | |
commit | 5b304753965d4179f374b5cded063e79d3d17b0a (patch) | |
tree | 6d07ff08a9192fc985cb5216791359c1472890dd /src/core/lib | |
parent | 7c37a687eb884c78d119d4b7903f173cca351255 (diff) |
Fixing a couple of issues within core.
Diffstat (limited to 'src/core/lib')
-rw-r--r-- | src/core/lib/channel/channel_args.c | 3 | ||||
-rw-r--r-- | src/core/lib/surface/server.c | 4 |
2 files changed, 5 insertions, 2 deletions
diff --git a/src/core/lib/channel/channel_args.c b/src/core/lib/channel/channel_args.c index 28d2d78d00..97c40e8481 100644 --- a/src/core/lib/channel/channel_args.c +++ b/src/core/lib/channel/channel_args.c @@ -74,7 +74,8 @@ grpc_channel_args *grpc_channel_args_copy_and_add(const grpc_channel_args *src, return dst; } dst->num_args = src_num_args + num_to_add; - dst->args = gpr_malloc(sizeof(grpc_arg) * dst->num_args); + dst->args = + dst->num_args ? gpr_malloc(sizeof(grpc_arg) * dst->num_args) : NULL; for (i = 0; i < src_num_args; i++) { dst->args[i] = copy_arg(&src->args[i]); } diff --git a/src/core/lib/surface/server.c b/src/core/lib/surface/server.c index ad8ee8c7a9..e3b54ac012 100644 --- a/src/core/lib/surface/server.c +++ b/src/core/lib/surface/server.c @@ -251,7 +251,9 @@ static void channel_broadcaster_init(grpc_server *s, channel_broadcaster *cb) { count++; } cb->num_channels = count; - cb->channels = gpr_malloc(sizeof(*cb->channels) * cb->num_channels); + cb->channels = cb->num_channels + ? gpr_malloc(sizeof(*cb->channels) * cb->num_channels) + : NULL; count = 0; for (c = s->root_channel_data.next; c != &s->root_channel_data; c = c->next) { cb->channels[count++] = c->channel; |