diff options
author | Jeff Tinker <jtinker@google.com> | 2016-03-03 15:47:09 -0800 |
---|---|---|
committer | Jeff Tinker <jtinker@google.com> | 2016-03-03 15:47:09 -0800 |
commit | e872ac45f79ca2c0b538df891d983e3d5e037574 (patch) | |
tree | 382947ca854370c799bc7056c5ad034dba7c1995 /media/jni/android_media_MediaCodec.cpp | |
parent | 60b7bcc614ae818c902e1a0ed3b2381e23eba61c (diff) |
Fix uninitialized crypto pattern
Apps built against an older API don't have the recently
added pattern field in MediaCodec.CryptoInfo which causes
the crypto pattern fields to be uninitialized. This change
ensures the pattern is initialized in all cases.
bug: 27477422
Change-Id: I5796bf5fbca93dba5bf9a2b74c1c6638b9e90f65
Diffstat (limited to 'media/jni/android_media_MediaCodec.cpp')
-rw-r--r-- | media/jni/android_media_MediaCodec.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/media/jni/android_media_MediaCodec.cpp b/media/jni/android_media_MediaCodec.cpp index 2004a3aef2b8..d6994b349b27 100644 --- a/media/jni/android_media_MediaCodec.cpp +++ b/media/jni/android_media_MediaCodec.cpp @@ -1302,7 +1302,10 @@ static void android_media_MediaCodec_queueSecureInputBuffer( jobject patternObj = env->GetObjectField(cryptoInfoObj, gFields.cryptoInfoPatternID); CryptoPlugin::Pattern pattern; - if (patternObj != NULL) { + if (patternObj == NULL) { + pattern.mEncryptBlocks = 0; + pattern.mSkipBlocks = 0; + } else { pattern.mEncryptBlocks = env->GetIntField(patternObj, gFields.patternEncryptBlocksID); pattern.mSkipBlocks = env->GetIntField(patternObj, gFields.patternSkipBlocksID); } |