diff --git a/src/trace.c b/src/trace.c index 9b5080c7..acb35408 100644 --- a/src/trace.c +++ b/src/trace.c @@ -272,7 +272,7 @@ static void _tf_trace_begin_tagged(tf_trace_t* trace, const char* name, void* ta char line[1024]; int p = snprintf(line, sizeof(line), "{\"ph\": \"B\", \"pid\": %d, \"tid\": %" PRId64 ", \"ts\": %" PRId64 ", \"name\": \"", getpid(), (int64_t)self, _trace_ts()); - p += _tf_trace_escape_name(line + p, sizeof(line) - p, name); + p += _tf_trace_escape_name(line + p, sizeof(line) - p - 4, name); p += snprintf(line + p, sizeof(line) - p, "\"},"); p = tf_min(p, tf_countof(line)); trace->callback(trace, line, p, trace->user_data); @@ -299,7 +299,7 @@ static void _tf_trace_end_tagged(tf_trace_t* trace, void* tag) char line[1024]; int p = snprintf(line, sizeof(line), "{\"ph\": \"E\", \"pid\": %d, \"tid\": %" PRId64 ", \"ts\": %" PRId64 ", \"name\": \"", getpid(), (int64_t)pthread_self(), _trace_ts()); - p += _tf_trace_escape_name(line + p, sizeof(line) - p, name); + p += _tf_trace_escape_name(line + p, sizeof(line) - p - 4, name); p += snprintf(line + p, sizeof(line) - p, "\"},"); p = tf_min(p, tf_countof(line)); trace->callback(trace, line, p, trace->user_data);