libmedia: Fix leaks of dirs from find_paths in AddOnManager.
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user