summaryrefslogtreecommitdiffstats
path: root/drm
diff options
context:
space:
mode:
authorJeff Tinker <jtinker@google.com>2018-08-15 04:48:34 -0700
committerandroid-build-merger <android-build-merger@google.com>2018-08-15 04:48:34 -0700
commit973c041e7e4da18a3d6614c518441330ac153a6f (patch)
treee42d6e6d7e1f16088045c7f3b3b033e111e5e4a8 /drm
parent1d6702f5f358d355cb1b3e51bbb3621f06d27153 (diff)
parent22fca9cd6248868e96cd3abb99b25d74948baada (diff)
downloadframeworks_av-973c041e7e4da18a3d6614c518441330ac153a6f.tar.gz
frameworks_av-973c041e7e4da18a3d6614c518441330ac153a6f.tar.bz2
frameworks_av-973c041e7e4da18a3d6614c518441330ac153a6f.zip
Merge "Fix information disclosure in mediadrmserver" into oc-dev am: f452267ae8 am: dd57ac5b26 am: f19106c7cc
am: 22fca9cd62 Change-Id: I10fa28da314ccb29d95fd5beee09d372b1e614d1
Diffstat (limited to 'drm')
-rw-r--r--drm/libmediadrm/ICrypto.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/drm/libmediadrm/ICrypto.cpp b/drm/libmediadrm/ICrypto.cpp
index 73ecda15a7..a2594aa2d8 100644
--- a/drm/libmediadrm/ICrypto.cpp
+++ b/drm/libmediadrm/ICrypto.cpp
@@ -225,8 +225,13 @@ IMPLEMENT_META_INTERFACE(Crypto, "android.hardware.ICrypto");
void BnCrypto::readVector(const Parcel &data, Vector<uint8_t> &vector) const {
uint32_t size = data.readInt32();
- vector.insertAt((size_t)0, size);
- data.read(vector.editArray(), size);
+ if (vector.insertAt((size_t)0, size) < 0) {
+ vector.clear();
+ }
+ if (data.read(vector.editArray(), size) != NO_ERROR) {
+ vector.clear();
+ android_errorWriteWithInfoLog(0x534e4554, "62872384", -1, NULL, 0);
+ }
}
void BnCrypto::writeVector(Parcel *reply, Vector<uint8_t> const &vector) const {