summaryrefslogtreecommitdiffstats
path: root/drm
diff options
context:
space:
mode:
authorEdwin Wong <edwinwong@google.com>2020-01-23 20:59:59 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2020-01-23 20:59:59 +0000
commitd651cdcfafd48df0ae0f50f83eb85a35ee5ab0cb (patch)
tree2926078ecc63d88d598b6e1541c9a267dbdf6596 /drm
parent2587ab6c7642062ea1791de1868c28b1164a073c (diff)
parentdc4c427b2155a9928a7cdaac7c0a787dd9c8192d (diff)
downloadframeworks_av-d651cdcfafd48df0ae0f50f83eb85a35ee5ab0cb.tar.gz
frameworks_av-d651cdcfafd48df0ae0f50f83eb85a35ee5ab0cb.tar.bz2
frameworks_av-d651cdcfafd48df0ae0f50f83eb85a35ee5ab0cb.zip
Merge "[DO NOT MERGE] Fix heap buffer overflow in clearkey CryptoPlugin::decrypt" into pi-dev
Diffstat (limited to 'drm')
-rw-r--r--drm/mediadrm/plugins/clearkey/hidl/CryptoPlugin.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/drm/mediadrm/plugins/clearkey/hidl/CryptoPlugin.cpp b/drm/mediadrm/plugins/clearkey/hidl/CryptoPlugin.cpp
index 198e0997d0..cd2224db97 100644
--- a/drm/mediadrm/plugins/clearkey/hidl/CryptoPlugin.cpp
+++ b/drm/mediadrm/plugins/clearkey/hidl/CryptoPlugin.cpp
@@ -106,6 +106,8 @@ Return<void> CryptoPlugin::decrypt(
return Void();
}
+ base = static_cast<uint8_t *>(static_cast<void *>(destBase->getPointer()));
+
if (destBuffer.offset + destBuffer.size > destBase->getSize()) {
_hidl_cb(Status::ERROR_DRM_CANNOT_HANDLE, 0, "invalid buffer size");
return Void();