Merge "Fix use-after-free in AMediaExtractor_getSampleCryptoInfo" into tm-dev
diff --git a/media/ndk/NdkMediaExtractor.cpp b/media/ndk/NdkMediaExtractor.cpp
index 07fc5de..6d3c348 100644
--- a/media/ndk/NdkMediaExtractor.cpp
+++ b/media/ndk/NdkMediaExtractor.cpp
@@ -388,9 +388,11 @@
mode = CryptoPlugin::kMode_AES_CTR;
}
+ sp<ABuffer> clearbuf;
+ sp<ABuffer> cryptedbuf;
if (sizeof(uint32_t) != sizeof(size_t)) {
- sp<ABuffer> clearbuf = U32ArrayToSizeBuf(numSubSamples, (uint32_t *)cleardata);
- sp<ABuffer> cryptedbuf = U32ArrayToSizeBuf(numSubSamples, (uint32_t *)crypteddata);
+ clearbuf = U32ArrayToSizeBuf(numSubSamples, (uint32_t *)cleardata);
+ cryptedbuf = U32ArrayToSizeBuf(numSubSamples, (uint32_t *)crypteddata);
cleardata = clearbuf == NULL ? NULL : clearbuf->data();
crypteddata = crypteddata == NULL ? NULL : cryptedbuf->data();
if(crypteddata == NULL || cleardata == NULL) {