SampleIterator: fix sizeof bug in getSampleSizeDirect.
Incorrect sizeof(*size) in SampleIterator::getSampleSizeDirect
potentially leads to file size overflow.
Test: Create m4a file with stsz box in the end of file and play it.
Change-Id: Ic8a073de2dfc35890ce65a03dd5ed9343a6ff007
Signed-off-by: Jia Jia <jia.jia@zte.com.cn>
diff --git a/media/libstagefright/SampleIterator.cpp b/media/libstagefright/SampleIterator.cpp
index 75f744d..7a51027 100644
--- a/media/libstagefright/SampleIterator.cpp
+++ b/media/libstagefright/SampleIterator.cpp
@@ -244,13 +244,14 @@
switch (mTable->mSampleSizeFieldSize) {
case 32:
{
+ uint32_t x;
if (mTable->mDataSource->readAt(
mTable->mSampleSizeOffset + 12 + 4 * sampleIndex,
- size, sizeof(*size)) < (ssize_t)sizeof(*size)) {
+ &x, sizeof(x)) < (ssize_t)sizeof(x)) {
return ERROR_IO;
}
- *size = ntohl(*size);
+ *size = ntohl(x);
break;
}