diff options
author | Craig Tiller <ctiller@google.com> | 2016-03-22 08:49:28 -0700 |
---|---|---|
committer | Craig Tiller <ctiller@google.com> | 2016-03-22 08:49:28 -0700 |
commit | d76eb8af377b428eed85d399cd0b0be437d4b642 (patch) | |
tree | af2d5536827e4c3c9038fd80c741e488effd22ce /src/core/debug/trace.c | |
parent | 1f5894de47d8f47ccf6e82a2c44da9fe3681e4b3 (diff) | |
parent | fb6e13b1b5ba135220c7be1edf3fb6f92e79872b (diff) |
Merge github.com:grpc/grpc into split-me-baby-one-more-time
(not yet compiling)
Diffstat (limited to 'src/core/debug/trace.c')
-rw-r--r-- | src/core/debug/trace.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/core/debug/trace.c b/src/core/debug/trace.c index b53dfe804b..3b35d81cd8 100644 --- a/src/core/debug/trace.c +++ b/src/core/debug/trace.c @@ -59,10 +59,14 @@ void grpc_register_tracer(const char *name, int *flag) { static void add(const char *beg, const char *end, char ***ss, size_t *ns) { size_t n = *ns; size_t np = n + 1; - char *s = gpr_malloc(end - beg + 1); - memcpy(s, beg, end - beg); - s[end-beg] = 0; - *ss = gpr_realloc(*ss, sizeof(char**) * np); + char *s; + size_t len; + GPR_ASSERT(end >= beg); + len = (size_t)(end - beg); + s = gpr_malloc(len + 1); + memcpy(s, beg, len); + s[len] = 0; + *ss = gpr_realloc(*ss, sizeof(char **) * np); (*ss)[n] = s; *ns = np; } @@ -73,7 +77,7 @@ static void split(const char *s, char ***ss, size_t *ns) { add(s, s + strlen(s), ss, ns); } else { add(s, c, ss, ns); - split(c+1, ss, ns); + split(c + 1, ss, ns); } } @@ -125,7 +129,7 @@ int grpc_tracer_set_enabled(const char *name, int enabled) { } if (!found) { gpr_log(GPR_ERROR, "Unknown trace var: '%s'", name); - return 0; /* early return */ + return 0; /* early return */ } } return 1; |