libmedia: Fix leaks of dirs from find_paths in AddOnManager.

This commit is contained in:
Michael Lotz
2015-04-10 14:41:27 +02:00
parent 058d3b8267
commit a0a1f480de
+7
View File
@@ -15,6 +15,7 @@
#include <string.h>
#include <Architecture.h>
#include <AutoDeleter.h>
#include <Autolock.h>
#include <Directory.h>
#include <Entry.h>
@@ -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;