summaryrefslogtreecommitdiffstats
path: root/media/jni/android_media_MediaExtractor.cpp
diff options
context:
space:
mode:
authorAshok Bhat <ashok.bhat@arm.com>2014-03-05 11:51:15 +0000
committerAshok Bhat <ashok.bhat@arm.com>2014-03-06 12:36:47 +0000
commite92416dfeb115939231819c5edb593b8bb81cc6d (patch)
tree840a79e8183900c88110c4c6995757f43159026f /media/jni/android_media_MediaExtractor.cpp
parent2383f2200ab0c2dbd71708b5c1fb6af98db408fa (diff)
downloadframeworks_base-e92416dfeb115939231819c5edb593b8bb81cc6d.zip
frameworks_base-e92416dfeb115939231819c5edb593b8bb81cc6d.tar.gz
frameworks_base-e92416dfeb115939231819c5edb593b8bb81cc6d.tar.bz2
Don't assume that size_t is 32-bit
Crypto data was being copied to java jint array in chunks of size_t. This will not work on LP64 as size_t will be 64-bit. This patch changes copy to use int32_t chunks instead of size_t. Change-Id: I75d910a1182ad2f58f432cd172127f048b4c393b Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
Diffstat (limited to 'media/jni/android_media_MediaExtractor.cpp')
-rw-r--r--media/jni/android_media_MediaExtractor.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/media/jni/android_media_MediaExtractor.cpp b/media/jni/android_media_MediaExtractor.cpp
index 705de88..543cb6c 100644
--- a/media/jni/android_media_MediaExtractor.cpp
+++ b/media/jni/android_media_MediaExtractor.cpp
@@ -556,7 +556,7 @@ static jboolean android_media_MediaExtractor_getSampleCryptoInfo(
return JNI_FALSE;
}
- size_t numSubSamples = size / sizeof(size_t);
+ size_t numSubSamples = size / sizeof(int32_t);
if (numSubSamples == 0) {
return JNI_FALSE;
@@ -566,7 +566,7 @@ static jboolean android_media_MediaExtractor_getSampleCryptoInfo(
jboolean isCopy;
jint *dst = env->GetIntArrayElements(numBytesOfEncryptedDataObj, &isCopy);
for (size_t i = 0; i < numSubSamples; ++i) {
- dst[i] = ((const size_t *)data)[i];
+ dst[i] = ((const int32_t *)data)[i];
}
env->ReleaseIntArrayElements(numBytesOfEncryptedDataObj, dst, 0);
dst = NULL;
@@ -583,7 +583,7 @@ static jboolean android_media_MediaExtractor_getSampleCryptoInfo(
jboolean isCopy;
jint *dst = env->GetIntArrayElements(numBytesOfPlainDataObj, &isCopy);
for (size_t i = 0; i < numSubSamples; ++i) {
- dst[i] = ((const size_t *)data)[i];
+ dst[i] = ((const int32_t *)data)[i];
}
env->ReleaseIntArrayElements(numBytesOfPlainDataObj, dst, 0);
dst = NULL;