Files
android/libwvdrmengine
Cong Lin 79b8a375a6 Update L3 after key double free fix tm-widevine-release
Merge of https://widevine-internal-review.googlesource.com/c/cdm/+/164981

Original commit message:
Fix key double free issue in L3

Cherry-pick the fix from:
https://widevine-internal-review.googlesource.com/c/cdm/+/164885/
https://widevine-internal-review.googlesource.com/c/cdm/+/164958/

Then generated L3 on top of tm-widevine-release code base.

Original commit message:

During license loading if an error occurs, all the loaded keys will be
freed. Later at session termination, the previously freed keys get freed
again, which screwed up the key table.

This CL prevents the double free by checking if the key index is already
freed, and updates the freed index to be kKeyDataArrayCount.

Also a side fix to correctly zero-out the intialized memory and adding a
few debug outs.

Test: ran L3 unit tests
Test: verified GTS tests on arm32 device
Bug: 252434586
Change-Id: I8058c10daae3d1007733eb6ac54101545d3ce029
2023-01-17 12:40:18 -08:00
..
2022-02-25 14:00:31 -08:00
2022-01-27 20:07:15 -08:00
2022-04-11 11:38:15 -07:00
2018-11-22 00:33:30 +00:00

This is the source code for the Widevine Content Decryption Module (CDM) for the
Android OS.  It provides the libwvdrmengine plugin for DRM.

Partners who are integrating a device should be familiar with the documents in
the docs directory.

This source code is NOT open source, and is not part of AOSP.  However, it is
released to partners external to Google after official Android releases.  For
this reason, partners should look for bug fixes and software updates on the
widevine branches:

+------------------------------+------------------------------+
|Android Version               |Branch                        |
+------------------------------+------------------------------+
|Android L                     |lmp-mr1-widevine-release      |
+------------------------------+------------------------------+
|Android M MR1                 |mnc-mr1-widevine-release      |
+------------------------------+------------------------------+
|Android N MR2                 |nyc-mr2-widevine-release      |
+------------------------------+------------------------------+
|Android OC                    |oc-widevine-release           |
+------------------------------+------------------------------+
|Android OC MR1                |oc-mr1-widevine-release       |
+------------------------------+------------------------------+
|Android Pi                    |pi-widevine-release           |
+------------------------------+------------------------------+