Fix a memory leak
`if (index != 1)` below, we'd leak this memory.
Caught by the static analyzer:
frameworks/av/media/libmedia/MediaProfiles.cpp:573:21: warning:
Potential leak of memory pointed to by 'profile'
[clang-analyzer-cplusplus.NewDeleteLeaks]
Bug: None
Test: Ran the analyzer again.
Change-Id: I3a8641358294a2d405cdf4d00fb1af86d893f9dc
diff --git a/media/libmedia/MediaProfiles.cpp b/media/libmedia/MediaProfiles.cpp
index aade69a..e0f5a40 100644
--- a/media/libmedia/MediaProfiles.cpp
+++ b/media/libmedia/MediaProfiles.cpp
@@ -546,8 +546,8 @@
if (info->mHasRefProfile) {
- CamcorderProfile *profile =
- new CamcorderProfile(
+ std::unique_ptr<CamcorderProfile> profile =
+ std::make_unique<CamcorderProfile>(
*mCamcorderProfiles[info->mRefProfileIndex]);
// Overwrite the quality
@@ -581,7 +581,7 @@
mCamcorderProfiles[info->mRefProfileIndex]->mQuality,
profile->mQuality, cameraId);
- mCamcorderProfiles.add(profile);
+ mCamcorderProfiles.add(profile.release());
}
}
}