From 7be395bb1e6b301f585ec3af80f4d052579138e3 Mon Sep 17 00:00:00 2001 From: "srinivasa.m" Date: Fri, 17 Aug 2018 12:59:17 +0530 Subject: [PATCH] Fix for ASAN Issue: alloc-dealloc mismatch Change-Id: Ida828cfcc6b741144ee5d27f46c058bd58c3390a --- src/shared/message.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) mode change 100644 => 100755 src/shared/message.cpp diff --git a/src/shared/message.cpp b/src/shared/message.cpp old mode 100644 new mode 100755 index 489ebac..e8fd460 --- a/src/shared/message.cpp +++ b/src/shared/message.cpp @@ -21,6 +21,8 @@ #include #include +#include + using namespace ipc; @@ -31,7 +33,7 @@ static std::atomic sequence(0); message::message(size_t capacity) : m_size(0) , m_capacity(capacity) -, m_msg((char *)malloc(sizeof(char) * capacity)) +, m_msg(new(std::nothrow) char[sizeof(char) *capacity]) , ref_cnt(0) { m_header.id = sequence++; @@ -61,7 +63,7 @@ message::message(const void *msg, size_t sz) message::message(const message &msg) : m_size(msg.m_size) , m_capacity(msg.m_capacity) -, m_msg((char *)malloc(sizeof(char) * msg.m_capacity)) +, m_msg(new(std::nothrow) char[(sizeof(char) * msg.m_capacity)]) , ref_cnt(0) { ::memcpy(&m_header, &msg.m_header, sizeof(message_header)); @@ -86,7 +88,7 @@ message::message(int error) message::~message() { if (m_msg && ref_cnt == 0) { - free(m_msg); + delete [] m_msg; m_msg = NULL; } } -- 2.7.4