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