From 31f0fad9a1fc09e26c3da9c6c4593efdd52a3775 Mon Sep 17 00:00:00 2001 From: Muxi Yan Date: Mon, 10 Jun 2019 13:32:59 -0700 Subject: [PATCH] Fix usage of new and delete --- src/core/lib/iomgr/cfstream_handle.cc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/core/lib/iomgr/cfstream_handle.cc b/src/core/lib/iomgr/cfstream_handle.cc index 2fda160f68a..b77851a6540 100644 --- a/src/core/lib/iomgr/cfstream_handle.cc +++ b/src/core/lib/iomgr/cfstream_handle.cc @@ -47,7 +47,8 @@ void CFStreamHandle::Release(void* info) { CFStreamHandle* CFStreamHandle::CreateStreamHandle( CFReadStreamRef read_stream, CFWriteStreamRef write_stream) { - return new CFStreamHandle(read_stream, write_stream); + CFStreamHandle* handle = static_cast(gpr_malloc(sizeof(CFStreamHandle))); + return new (handle) CFStreamHandle(read_stream, write_stream); } void CFStreamHandle::ReadCallback(CFReadStreamRef stream, @@ -188,7 +189,8 @@ void CFStreamHandle::Unref(const char* file, int line, const char* reason) { reason, val, val - 1); } if (gpr_unref(&refcount_)) { - delete this; + this->~CFStreamHandle(); + gpr_free(this); } }