summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChrister Fletcher <christer.fletcher@sonymobile.com>2013-06-18 08:55:09 +0200
committerTakeshi Aimi <takeshi.aimi@sonymobile.com>2013-06-28 17:00:38 +0900
commitfca812565cebd229fba8be32bad14983c5252a7b (patch)
tree6d1663f287bf0d1ab9721f70c6271ed4cf0a0400
parentd74a9ee83fd6e033fd2260ca3777390d7e5f817a (diff)
Set u.ext_data to null after it has been freed
SEGV_MAPPER crash could happen in MetaData::typed_data::freeStorage. The faulty address could be both random pointers and deadbaad. It seems like free could be called more than once on u.ext_data. Set u.ext_data to null after it has been freed as there already is a null check before trying to free it. Change-Id: I710c49f9c231bd8852159914c0b2add58a685f0e
-rw-r--r--media/libstagefright/MetaData.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/media/libstagefright/MetaData.cpp b/media/libstagefright/MetaData.cpp
index a01ec978..ae6ae2d7 100644
--- a/media/libstagefright/MetaData.cpp
+++ b/media/libstagefright/MetaData.cpp
@@ -282,6 +282,7 @@ void MetaData::typed_data::freeStorage() {
if (!usesReservoir()) {
if (u.ext_data) {
free(u.ext_data);
+ u.ext_data = NULL;
}
}