diff options
author | Ashok Bhat <ashok.bhat@arm.com> | 2014-03-05 11:51:15 +0000 |
---|---|---|
committer | Ashok Bhat <ashok.bhat@arm.com> | 2014-03-06 12:36:47 +0000 |
commit | e92416dfeb115939231819c5edb593b8bb81cc6d (patch) | |
tree | 840a79e8183900c88110c4c6995757f43159026f /media/jni/android_media_MediaExtractor.cpp | |
parent | 2383f2200ab0c2dbd71708b5c1fb6af98db408fa (diff) | |
download | frameworks_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.cpp | 6 |
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; |