aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/lib/channel/channel_trace.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/lib/channel/channel_trace.cc')
-rw-r--r--src/core/lib/channel/channel_trace.cc8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/core/lib/channel/channel_trace.cc b/src/core/lib/channel/channel_trace.cc
index fe81acb617..f0d21db32a 100644
--- a/src/core/lib/channel/channel_trace.cc
+++ b/src/core/lib/channel/channel_trace.cc
@@ -108,16 +108,20 @@ void ChannelTrace::AddTraceEventHelper(TraceEvent* new_trace_event) {
}
void ChannelTrace::AddTraceEvent(Severity severity, grpc_slice data) {
- if (max_event_memory_ == 0)
+ if (max_event_memory_ == 0) {
+ grpc_slice_unref_internal(data);
return; // tracing is disabled if max_event_memory_ == 0
+ }
AddTraceEventHelper(New<TraceEvent>(severity, data));
}
void ChannelTrace::AddTraceEventWithReference(
Severity severity, grpc_slice data,
RefCountedPtr<BaseNode> referenced_entity) {
- if (max_event_memory_ == 0)
+ if (max_event_memory_ == 0) {
+ grpc_slice_unref_internal(data);
return; // tracing is disabled if max_event_memory_ == 0
+ }
// create and fill up the new event
AddTraceEventHelper(
New<TraceEvent>(severity, data, std::move(referenced_entity)));