summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDongwon Kang <dwkang@google.com>2017-07-20 14:40:25 -0700
committerMSe <mse1969@posteo.de>2017-10-04 23:29:52 +0200
commit30e7e1d9046bcd84897c4874d7d4d925f6caa0ff (patch)
tree0dd39b35ebd8842c13582b0273a0d3f0ad1fa2a0
parentcbaa061b6e0bd958d3685ec9ef8b4a34921c700d (diff)
downloadframeworks_av-30e7e1d9046bcd84897c4874d7d4d925f6caa0ff.tar.gz
frameworks_av-30e7e1d9046bcd84897c4874d7d4d925f6caa0ff.tar.bz2
frameworks_av-30e7e1d9046bcd84897c4874d7d4d925f6caa0ff.zip
Fix memory leak in OggExtractor
Test: added a temporal log and run poc Bug: 63581671 Change-Id: I436a08e54d5e831f9fbdb33c26d15397ce1fbeba (cherry picked from commit 63079e7c8e12cda4eb124fbe565213d30b9ea34c) CVE-2017-0818
-rw-r--r--media/libstagefright/OggExtractor.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/media/libstagefright/OggExtractor.cpp b/media/libstagefright/OggExtractor.cpp
index 9ede3190c7..bd6037f743 100644
--- a/media/libstagefright/OggExtractor.cpp
+++ b/media/libstagefright/OggExtractor.cpp
@@ -578,6 +578,10 @@ status_t MyOpusExtractor::readNextPacket(MediaBuffer **out) {
}
// First two pages are header pages.
if (err == ERROR_END_OF_STREAM || mCurrentPage.mPageNo > 2) {
+ if (mBuf != NULL) {
+ mBuf->release();
+ mBuf = NULL;
+ }
break;
}
curGranulePosition = mCurrentPage.mGranulePosition;