Reorder RengineEngine and LayerSettings in VTS

VTS readback tests were crashing because RenderEngine before LayerSettings were deleted. LayerSettings holds onto ExternalTexture, which calls back into RenderEngine to clean up texture objects, so this was causing a UAF issue.

Bug: 372063484
Test: VtsHalGraphicsComposer3_TargetTest
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:92a3161ed6a89858f95e03ce981ce7a4ed19b396)
Merged-In: Iad39e1a4aa9a9488af54742df121a981756b6275
Change-Id: Iad39e1a4aa9a9488af54742df121a981756b6275
This commit is contained in:
Alec Mouri
2024-11-27 16:40:30 +00:00
committed by Android Build Cherrypicker Worker
parent f1df387332
commit 27c2a2da65

View File

@@ -51,9 +51,10 @@ class TestRenderEngine {
private:
common::PixelFormat mFormat;
std::vector<::android::renderengine::LayerSettings> mCompositionLayers;
std::unique_ptr<::android::renderengine::RenderEngine> mRenderEngine;
std::vector<::android::renderengine::LayerSettings> mRenderLayers;
// Delete RenderEngine layers before RenderEngine -- ExternalTexture holds a reference to
// RenderEngine.
std::vector<::android::renderengine::LayerSettings> mCompositionLayers;
::android::sp<::android::GraphicBuffer> mGraphicBuffer;
DisplaySettings mDisplaySettings;