summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2017-01-20 11:32:55 +0100
committerRobin Gareus <robin@gareus.org>2017-01-20 11:32:55 +0100
commit02d484de8a4733907b40743557459a8cc42565b7 (patch)
treec9c0074d135f0f39bf87add3d2ed9cf31a31604e
parent6b5dce2c66554df2243d62ca06c93b9c9eefc8fa (diff)
Plug some libardour memory leaks
-rw-r--r--libs/ardour/io.cc3
-rw-r--r--libs/ardour/worker.cc3
2 files changed, 6 insertions, 0 deletions
diff --git a/libs/ardour/io.cc b/libs/ardour/io.cc
index b5a81c71e8..8528a9cd37 100644
--- a/libs/ardour/io.cc
+++ b/libs/ardour/io.cc
@@ -96,6 +96,7 @@ IO::~IO ()
for (PortSet::iterator i = _ports.begin(); i != _ports.end(); ++i) {
_session.engine().unregister_port (*i);
}
+ delete pending_state_node; pending_state_node = 0;
}
void
@@ -662,6 +663,7 @@ IO::set_state (const XMLNode& node, int version)
} else {
+ delete pending_state_node;
pending_state_node = new XMLNode (node);
pending_state_node_version = version;
pending_state_node_in = false;
@@ -716,6 +718,7 @@ IO::set_state_2X (const XMLNode& node, int version, bool in)
} else {
+ delete pending_state_node;
pending_state_node = new XMLNode (node);
pending_state_node_version = version;
pending_state_node_in = in;
diff --git a/libs/ardour/worker.cc b/libs/ardour/worker.cc
index f8a5e44aee..0a5971fa3e 100644
--- a/libs/ardour/worker.cc
+++ b/libs/ardour/worker.cc
@@ -50,6 +50,9 @@ Worker::~Worker()
if (_thread) {
_thread->join();
}
+ delete _responses;
+ delete _requests;
+ free (_response);
}
bool