MediaPlayer: Sanitize supplier/mediaFile management
* Fix a leak.
This commit is contained in:
@@ -199,6 +199,7 @@ bigtime_t PlaylistItem::_CalculateDuration()
|
||||
|
||||
delete vi;
|
||||
delete au;
|
||||
ReleaseTrackSupplier();
|
||||
|
||||
return duration;
|
||||
}
|
||||
|
||||
@@ -139,12 +139,11 @@ UrlPlaylistItem::_CreateTrackSupplier() const
|
||||
return NULL;
|
||||
|
||||
BMediaFile* mediaFile = new(std::nothrow) BMediaFile(fUrl);
|
||||
if (mediaFile == NULL) {
|
||||
if (mediaFile == NULL || supplier->AddMediaFile(mediaFile) != B_OK) {
|
||||
delete mediaFile;
|
||||
delete supplier;
|
||||
return NULL;
|
||||
}
|
||||
if (supplier->AddMediaFile(mediaFile) != B_OK)
|
||||
delete mediaFile;
|
||||
|
||||
return supplier;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user