diff options
| author | Jeff Tinker <jtinker@google.com> | 2018-07-24 14:13:13 -0700 |
|---|---|---|
| committer | android-build-team Robot <android-build-team-robot@google.com> | 2018-08-16 16:39:43 +0000 |
| commit | c500d921d3ce041f04d2f5e3bde63deb2b773c2a (patch) | |
| tree | 4b998ed0cdccfdaa4c12708047936482da21aaea /drm | |
| parent | 73835b362cd0ed14f6e99d361485f02ad4759151 (diff) | |
| download | frameworks_av-c500d921d3ce041f04d2f5e3bde63deb2b773c2a.tar.gz frameworks_av-c500d921d3ce041f04d2f5e3bde63deb2b773c2a.tar.bz2 frameworks_av-c500d921d3ce041f04d2f5e3bde63deb2b773c2a.zip | |
Fix information disclosure in mediadrmserver
Test:POC provided in bug
Bug:79218474
Change-Id: Iba12c07a5e615f8ed234b01ac53e3559ba9ac12e
(cherry picked from commit c1bf68a8d1321d7cdf7da6933f0b89b171d251c6)
Diffstat (limited to 'drm')
| -rw-r--r-- | drm/libmediadrm/ICrypto.cpp | 9 |
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 { |
