Android-x86
Fork

  • R/O
  • HTTP
  • SSH
  • HTTPS

frameworks-av: コミット

frameworks/av


コミットメタ情報

リビジョン7fffe76d48280a9d8808133ffb8bcba13e6bd0a9 (tree)
日時2020-05-06 11:34:24
作者Chih-Wei Huang <cwhuang@linu...>
コミッターChih-Wei Huang

ログメッセージ

Android 9.0.0 release 56
-----BEGIN PGP SIGNATURE-----

iF0EABECAB0WIQRDQNE1cO+UXoOBCWTorT+BmrEOeAUCXrBHQAAKCRDorT+BmrEO
eMQRAJ99qmEAqv5GOHLw4HtWoY/WrAmY7gCcC0woKoltynY72DsQ4c7cll3dXdI=
=sjG+
-----END PGP SIGNATURE-----

Merge tag 'android-9.0.0_r56' into pie-x86

Android 9.0.0 release 56

変更サマリ

差分

--- a/drm/libmediadrm/ICrypto.cpp
+++ b/drm/libmediadrm/ICrypto.cpp
@@ -264,8 +264,12 @@ status_t BnCrypto::onTransact(
264264 {
265265 CHECK_INTERFACE(ICrypto, data, reply);
266266
267- uint8_t uuid[16];
268- data.read(uuid, sizeof(uuid));
267+ uint8_t uuid[16] = {0};
268+ if (data.read(uuid, sizeof(uuid)) != NO_ERROR) {
269+ android_errorWriteLog(0x534e4554, "144767096");
270+ reply->writeInt32(BAD_VALUE);
271+ return OK;
272+ }
269273
270274 size_t opaqueSize = data.readInt32();
271275 void *opaqueData = NULL;
@@ -280,7 +284,11 @@ status_t BnCrypto::onTransact(
280284 return NO_MEMORY;
281285 }
282286
283- data.read(opaqueData, opaqueSize);
287+ if (data.read(opaqueData, opaqueSize) != NO_ERROR) {
288+ android_errorWriteLog(0x534e4554, "144767096");
289+ reply->writeInt32(BAD_VALUE);
290+ return OK;
291+ }
284292 reply->writeInt32(createPlugin(uuid, opaqueData, opaqueSize));
285293
286294 free(opaqueData);
--- a/drm/mediadrm/plugins/clearkey/hidl/CryptoPlugin.cpp
+++ b/drm/mediadrm/plugins/clearkey/hidl/CryptoPlugin.cpp
@@ -106,6 +106,8 @@ Return<void> CryptoPlugin::decrypt(
106106 return Void();
107107 }
108108
109+ base = static_cast<uint8_t *>(static_cast<void *>(destBase->getPointer()));
110+
109111 if (destBuffer.offset + destBuffer.size > destBase->getSize()) {
110112 _hidl_cb(Status::ERROR_DRM_CANNOT_HANDLE, 0, "invalid buffer size");
111113 return Void();
--- a/drm/mediadrm/plugins/clearkey/hidl/DrmPlugin.cpp
+++ b/drm/mediadrm/plugins/clearkey/hidl/DrmPlugin.cpp
@@ -531,6 +531,11 @@ Return<Status> DrmPlugin::releaseSecureStops(const SecureStopRelease& ssRelease)
531531 // count - number of secure stops
532532 // list of fixed length secure stops
533533 size_t countBufferSize = sizeof(uint32_t);
534+ if (input.size() < countBufferSize) {
535+ // SafetyNet logging
536+ android_errorWriteLog(0x534e4554, "144766455");
537+ return Status::BAD_VALUE;
538+ }
534539 uint32_t count = 0;
535540 sscanf(reinterpret_cast<char*>(input.data()), "%04" PRIu32, &count);
536541
--- a/services/camera/libcameraservice/device3/Camera3Device.cpp
+++ b/services/camera/libcameraservice/device3/Camera3Device.cpp
@@ -2981,6 +2981,9 @@ void Camera3Device::sendCaptureResult(CameraMetadata &pendingMetadata,
29812981 frameNumber);
29822982 return;
29832983 }
2984+
2985+ nsecs_t sensorTimestamp = timestamp.data.i64[0];
2986+
29842987 for (auto& physicalMetadata : captureResult.mPhysicalMetadatas) {
29852988 camera_metadata_entry timestamp =
29862989 physicalMetadata.mPhysicalCameraMetadata.find(ANDROID_SENSOR_TIMESTAMP);
@@ -3000,7 +3003,7 @@ void Camera3Device::sendCaptureResult(CameraMetadata &pendingMetadata,
30003003 }
30013004
30023005 mTagMonitor.monitorMetadata(TagMonitor::RESULT,
3003- frameNumber, timestamp.data.i64[0], captureResult.mMetadata);
3006+ frameNumber, sensorTimestamp, captureResult.mMetadata);
30043007
30053008 insertResultLocked(&captureResult, frameNumber);
30063009 }
旧リポジトリブラウザで表示