diff options
-rw-r--r-- | gtk2_ardour/analysis_window.cc | 1 | ||||
-rw-r--r-- | gtk2_ardour/video_timeline.cc | 2 | ||||
-rw-r--r-- | libs/ardour/audio_library.cc | 5 | ||||
-rw-r--r-- | libs/ardour/linux_vst_support.cc | 5 | ||||
-rw-r--r-- | libs/ardour/worker.cc | 2 |
5 files changed, 10 insertions, 5 deletions
diff --git a/gtk2_ardour/analysis_window.cc b/gtk2_ardour/analysis_window.cc index 998ab8ab12..f653490345 100644 --- a/gtk2_ardour/analysis_window.cc +++ b/gtk2_ardour/analysis_window.cc @@ -374,6 +374,7 @@ AnalysisWindow::analyze_data (Gtk::Button * /*button*/) free(buf); free(mixbuf); + free(gain); track_list_ready = true; } /* end lock */ diff --git a/gtk2_ardour/video_timeline.cc b/gtk2_ardour/video_timeline.cc index 8adc7bc4d0..ca1da8d693 100644 --- a/gtk2_ardour/video_timeline.cc +++ b/gtk2_ardour/video_timeline.cc @@ -716,7 +716,7 @@ void VideoTimeLine::find_xjadeo () { std::string xjadeo_file_path; if (getenv("XJREMOTE")) { - _xjadeo_bin = strdup(getenv("XJREMOTE")); // XXX TODO: free it?! + _xjadeo_bin = getenv("XJREMOTE"); } else if (find_file_in_search_path (Searchpath(Glib::getenv("PATH")), X_("xjremote"), xjadeo_file_path)) { _xjadeo_bin = xjadeo_file_path; } diff --git a/libs/ardour/audio_library.cc b/libs/ardour/audio_library.cc index 4a6089dac3..35c0972847 100644 --- a/libs/ardour/audio_library.cc +++ b/libs/ardour/audio_library.cc @@ -105,15 +105,15 @@ AudioLibrary::get_tags (string member) { vector<string> tags; #ifdef HAVE_LRDF + char * uri = strdup(Glib::filename_to_uri(member).c_str()); lrdf_statement pattern; - pattern.subject = strdup(Glib::filename_to_uri(member).c_str()); + pattern.subject = uri; pattern.predicate = const_cast<char*>(TAG); pattern.object = 0; pattern.object_type = lrdf_literal; lrdf_statement* matches = lrdf_matches (&pattern); - free (pattern.subject); lrdf_statement* current = matches; while (current != 0) { @@ -125,6 +125,7 @@ AudioLibrary::get_tags (string member) lrdf_free_statements (matches); sort (tags.begin(), tags.end()); + free (uri); #endif return tags; } diff --git a/libs/ardour/linux_vst_support.cc b/libs/ardour/linux_vst_support.cc index 9d36905f48..f34112e24b 100644 --- a/libs/ardour/linux_vst_support.cc +++ b/libs/ardour/linux_vst_support.cc @@ -112,7 +112,7 @@ vstfx_new () void* vstfx_load_vst_library(const char* path) { void* dll; - char* full_path; + char* full_path = NULL; char* envdup; char* lxvst_path; size_t len1; @@ -160,6 +160,7 @@ void* vstfx_load_vst_library(const char* path) vstfx_error ("\"%s\"", lxvst_path); len1 = strlen(lxvst_path); + if (full_path) free(full_path); full_path = (char*)malloc(len1 + 1 + len2 + 1); memcpy(full_path, lxvst_path, len1); full_path[len1] = '/'; @@ -180,7 +181,7 @@ void* vstfx_load_vst_library(const char* path) } /*Free the path*/ - + if (full_path) free(full_path); free(envdup); return dll; diff --git a/libs/ardour/worker.cc b/libs/ardour/worker.cc index b110dc286f..5b416afa46 100644 --- a/libs/ardour/worker.cc +++ b/libs/ardour/worker.cc @@ -124,6 +124,7 @@ Worker::run() while (true) { _sem.wait(); if (_exit) { + if (buf) free(buf); return; } @@ -135,6 +136,7 @@ Worker::run() while (!verify_message_completeness(_requests)) { Glib::usleep(2000); if (_exit) { + if (buf) free(buf); return; } } |