From 82d5b54109a8409df48f0b9a02add1dcce01780b Mon Sep 17 00:00:00 2001 From: Petri Hintukainen Date: Thu, 24 Nov 2011 11:46:07 +0200 Subject: Fixed leaks in input plugins --HG-- branch : point-release --- src/input/input_file.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'src/input/input_file.c') diff --git a/src/input/input_file.c b/src/input/input_file.c index bb8afef92..2c56ae232 100644 --- a/src/input/input_file.c +++ b/src/input/input_file.c @@ -850,7 +850,7 @@ static xine_mrl_t **file_class_get_dir (input_class_t *this_gen, this->mrls[num_files] = calloc(1, sizeof(xine_mrl_t)); } else - memset(this->mrls[num_files], 0, sizeof(xine_mrl_t)); + MRL_ZERO(this->mrls[num_files]); MRL_DUPLICATE(&dir_files[i], this->mrls[num_files]); @@ -868,7 +868,7 @@ static xine_mrl_t **file_class_get_dir (input_class_t *this_gen, this->mrls[num_files] = calloc(1, sizeof(xine_mrl_t)); } else - memset(this->mrls[num_files], 0, sizeof(xine_mrl_t)); + MRL_ZERO(this->mrls[num_files]); MRL_DUPLICATE(&hide_files[i], this->mrls[num_files]); @@ -886,7 +886,7 @@ static xine_mrl_t **file_class_get_dir (input_class_t *this_gen, this->mrls[num_files] = calloc(1, sizeof(xine_mrl_t)); } else - memset(this->mrls[num_files], 0, sizeof(xine_mrl_t)); + MRL_ZERO(this->mrls[num_files]); MRL_DUPLICATE(&norm_files[i], this->mrls[num_files]); @@ -954,7 +954,12 @@ static void file_class_dispose (input_class_t *this_gen) { config->unregister_callback(config, "media.files.origin_path"); + while(this->mrls_allocated_entries) { + MRL_ZERO(this->mrls[this->mrls_allocated_entries - 1]); + free(this->mrls[this->mrls_allocated_entries--]); + } free (this->mrls); + free (this); } -- cgit v1.2.3