From 41d8cd9a0cf1bdac85d4be54baa7538169a7ae5a Mon Sep 17 00:00:00 2001 From: Jacob Dufault Date: Thu, 8 Jun 2017 23:20:29 -0700 Subject: [PATCH] Fix memory leaks --- src/ipc.cc | 2 ++ src/ipc.h | 1 + src/language_server_api.cc | 2 ++ src/language_server_api.h | 1 + 4 files changed, 6 insertions(+) diff --git a/src/ipc.cc b/src/ipc.cc index ff10e5bf..ba03cc1c 100644 --- a/src/ipc.cc +++ b/src/ipc.cc @@ -79,3 +79,5 @@ const char* IpcIdToString(IpcId id) { BaseIpcMessage::BaseIpcMessage(IpcId method_id) : method_id(method_id) {} + +BaseIpcMessage::~BaseIpcMessage() = default; \ No newline at end of file diff --git a/src/ipc.h b/src/ipc.h index b8a9cd99..2a89ee7d 100644 --- a/src/ipc.h +++ b/src/ipc.h @@ -55,6 +55,7 @@ const char* IpcIdToString(IpcId id); struct BaseIpcMessage { const IpcId method_id; BaseIpcMessage(IpcId method_id); + virtual ~BaseIpcMessage(); }; template diff --git a/src/language_server_api.cc b/src/language_server_api.cc index 25e03dfc..50274683 100644 --- a/src/language_server_api.cc +++ b/src/language_server_api.cc @@ -101,6 +101,8 @@ MessageRegistry* MessageRegistry::instance() { return instance_; } +lsBaseOutMessage::~lsBaseOutMessage() = default; + void lsResponseError::Write(Writer& visitor) { auto& value = *this; int code2 = static_cast(this->code); diff --git a/src/language_server_api.h b/src/language_server_api.h index f76c57b9..60f7422e 100644 --- a/src/language_server_api.h +++ b/src/language_server_api.h @@ -98,6 +98,7 @@ struct MessageRegistry { struct lsBaseOutMessage { + virtual ~lsBaseOutMessage(); virtual void Write(std::ostream& out) = 0; };