From a0a1f480de7113e1bceb417b723b58db0968d5a6 Mon Sep 17 00:00:00 2001 From: Michael Lotz Date: Fri, 10 Apr 2015 14:40:17 +0200 Subject: [PATCH] libmedia: Fix leaks of dirs from find_paths in AddOnManager. --- src/kits/media/AddOnManager.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/kits/media/AddOnManager.cpp b/src/kits/media/AddOnManager.cpp index 3dde8ac31a..8244de46bc 100644 --- a/src/kits/media/AddOnManager.cpp +++ b/src/kits/media/AddOnManager.cpp @@ -15,6 +15,7 @@ #include #include +#include #include #include #include @@ -112,6 +113,8 @@ AddOnManager::GetDecoderForFormat(entry_ref* _decoderRef, return B_ENTRY_NOT_FOUND; } + MemoryDeleter directoriesDeleter(directories); + BPath path; for (uint i = 0; i < directoryCount; i++) { path.SetTo(directories[i]); @@ -144,6 +147,8 @@ AddOnManager::GetReaders(entry_ref* outRefs, int32* outCount, return B_ENTRY_NOT_FOUND; } + MemoryDeleter directoriesDeleter(directories); + BPath path; for (uint i = 0; i < directoryCount; i++) { path.SetTo(directories[i]); @@ -249,6 +254,8 @@ AddOnManager::RegisterAddOns() return; } + MemoryDeleter directoriesDeleter(directories); + BPath path; for (uint i = 0; i < directoryCount; i++) { BDirectory directory;