When a new texture is bound, the texture binding state is updated before updating the active texture cache. With this ordering, it is possible to delete the currently bound texture when the binding changes and then use-after-free it when updating the active texture cache. BUG=chromium:1065186 Change-Id: Id6d56b6c6db423755b195cda1e5cf1bcb1ee7aee Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2124588 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by:Jamie Madill <jmadill@chromium.org> (cherry picked from commit 1288aa12) Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2156966Reviewed-by:
Geoff Lang <geofflang@chromium.org>
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| overlay | Loading commit data... | |
| renderer | Loading commit data... | |
| AttributeMap.cpp | Loading commit data... | |
| AttributeMap.h | Loading commit data... | |
| BinaryStream.h | Loading commit data... | |
| BinaryStream_unittest.cpp | Loading commit data... | |
| BlobCache.cpp | Loading commit data... | |
| BlobCache.h | Loading commit data... | |
| BlobCache_unittest.cpp | Loading commit data... | |
| Buffer.cpp | Loading commit data... | |
| Buffer.h | Loading commit data... | |
| Caps.cpp | Loading commit data... | |
| Caps.h | Loading commit data... | |
| Compiler.cpp | Loading commit data... | |
| Compiler.h | Loading commit data... | |
| Config.cpp | Loading commit data... | |
| Config.h | Loading commit data... | |
| Config_unittest.cpp | Loading commit data... | |
| Constants.h | Loading commit data... | |
| Context.cpp | Loading commit data... | |
| Context.h | Loading commit data... | |
| Context.inl.h | Loading commit data... | |
| Context_gl.cpp | Loading commit data... | |
| Context_gl_1_0_autogen.h | Loading commit data... | |
| Context_gl_1_1_autogen.h | Loading commit data... | |
| Context_gl_1_2_autogen.h | Loading commit data... | |
| Context_gl_1_3_autogen.h | Loading commit data... | |
| Context_gl_1_4_autogen.h | Loading commit data... | |
| Context_gl_1_5_autogen.h | Loading commit data... | |
| Context_gl_2_0_autogen.h | Loading commit data... | |
| Context_gl_2_1_autogen.h | Loading commit data... | |
| Context_gl_3_0_autogen.h | Loading commit data... | |
| Context_gl_3_1_autogen.h | Loading commit data... | |
| Context_gl_3_2_autogen.h | Loading commit data... | |
| Context_gl_3_3_autogen.h | Loading commit data... | |
| Context_gl_4_0_autogen.h | Loading commit data... | |
| Context_gl_4_1_autogen.h | Loading commit data... | |
| Context_gl_4_2_autogen.h | Loading commit data... | |
| Context_gl_4_3_autogen.h | Loading commit data... | |
| Context_gl_4_4_autogen.h | Loading commit data... | |
| Context_gl_4_5_autogen.h | Loading commit data... | |
| Context_gl_4_6_autogen.h | Loading commit data... | |
| Context_gles_1_0.cpp | Loading commit data... | |
| Context_gles_1_0_autogen.h | Loading commit data... | |
| Context_gles_2_0_autogen.h | Loading commit data... | |
| Context_gles_3_0_autogen.h | Loading commit data... | |
| Context_gles_3_1_autogen.h | Loading commit data... | |
| Context_gles_3_2_autogen.h | Loading commit data... | |
| Context_gles_ext_autogen.h | Loading commit data... | |
| Debug.cpp | Loading commit data... | |
| Debug.h | Loading commit data... | |
| Device.cpp | Loading commit data... | |
| Device.h | Loading commit data... | |
| Display.cpp | Loading commit data... | |
| Display.h | Loading commit data... | |
| EGLSync.cpp | Loading commit data... | |
| EGLSync.h | Loading commit data... | |
| Error.cpp | Loading commit data... | |
| Error.h | Loading commit data... | |
| Error.inc | Loading commit data... | |
| ErrorStrings.h | Loading commit data... | |
| Fence.cpp | Loading commit data... | |
| Fence.h | Loading commit data... | |
| Fence_unittest.cpp | Loading commit data... | |
| FrameCapture.cpp | Loading commit data... | |
| FrameCapture.h | Loading commit data... | |
| FrameCapture_mock.cpp | Loading commit data... | |
| Framebuffer.cpp | Loading commit data... | |
| Framebuffer.h | Loading commit data... | |
| FramebufferAttachment.cpp | Loading commit data... | |
| FramebufferAttachment.h | Loading commit data... | |
| GLES1Renderer.cpp | Loading commit data... | |
| GLES1Renderer.h | Loading commit data... | |
| GLES1Shaders.inc | Loading commit data... | |
| GLES1State.cpp | Loading commit data... | |
| GLES1State.h | Loading commit data... | |
| HandleAllocator.cpp | Loading commit data... | |
| HandleAllocator.h | Loading commit data... | |
| HandleAllocator_unittest.cpp | Loading commit data... | |
| HandleRangeAllocator.cpp | Loading commit data... | |
| HandleRangeAllocator.h | Loading commit data... | |
| HandleRangeAllocator_unittest.cpp | Loading commit data... | |
| Image.cpp | Loading commit data... | |
| Image.h | Loading commit data... | |
| ImageIndex.cpp | Loading commit data... | |
| ImageIndex.h | Loading commit data... | |
| ImageIndexIterator_unittest.cpp | Loading commit data... | |
| Image_unittest.cpp | Loading commit data... | |
| IndexRangeCache.cpp | Loading commit data... | |
| IndexRangeCache.h | Loading commit data... | |
| LoggingAnnotator.cpp | Loading commit data... | |
| LoggingAnnotator.h | Loading commit data... | |
| MemoryObject.cpp | Loading commit data... | |
| MemoryObject.h | Loading commit data... | |
| MemoryProgramCache.cpp | Loading commit data... | |
| MemoryProgramCache.h | Loading commit data... | |
| Observer.cpp | Loading commit data... | |
| Observer.h | Loading commit data... | |
| Observer_unittest.cpp | Loading commit data... | |
| Overlay.cpp | Loading commit data... | |
| Overlay.h | Loading commit data... | |
| OverlayWidgets.cpp | Loading commit data... | |
| OverlayWidgets.h | Loading commit data... | |
| Overlay_autogen.cpp | Loading commit data... | |
| Overlay_font_autogen.cpp | Loading commit data... | |
| Overlay_font_autogen.h | Loading commit data... | |
| Path.cpp | Loading commit data... | |
| Path.h | Loading commit data... | |
| Platform.cpp | Loading commit data... | |
| Program.cpp | Loading commit data... | |
| Program.h | Loading commit data... | |
| ProgramLinkedResources.cpp | Loading commit data... | |
| ProgramLinkedResources.h | Loading commit data... | |
| ProgramPipeline.cpp | Loading commit data... | |
| ProgramPipeline.h | Loading commit data... | |
| Program_unittest.cpp | Loading commit data... | |
| Query.cpp | Loading commit data... | |
| Query.h | Loading commit data... | |
| RefCountObject.h | Loading commit data... | |
| Renderbuffer.cpp | Loading commit data... | |
| Renderbuffer.h | Loading commit data... | |
| ResourceManager.cpp | Loading commit data... | |
| ResourceManager.h | Loading commit data... | |
| ResourceManager_unittest.cpp | Loading commit data... | |
| ResourceMap.h | Loading commit data... | |
| ResourceMap_unittest.cpp | Loading commit data... | |
| Sampler.cpp | Loading commit data... | |
| Sampler.h | Loading commit data... | |
| Semaphore.cpp | Loading commit data... | |
| Semaphore.h | Loading commit data... | |
| Shader.cpp | Loading commit data... | |
| Shader.h | Loading commit data... | |
| SizedMRUCache.h | Loading commit data... | |
| SizedMRUCache_unittest.cpp | Loading commit data... | |
| State.cpp | Loading commit data... | |
| State.h | Loading commit data... | |
| Stream.cpp | Loading commit data... | |
| Stream.h | Loading commit data... | |
| Surface.cpp | Loading commit data... | |
| Surface.h | Loading commit data... | |
| Surface_unittest.cpp | Loading commit data... | |
| Texture.cpp | Loading commit data... | |
| Texture.h | Loading commit data... | |
| Thread.cpp | Loading commit data... | |
| Thread.h | Loading commit data... | |
| TransformFeedback.cpp | Loading commit data... | |
| TransformFeedback.h | Loading commit data... | |
| TransformFeedback_unittest.cpp | Loading commit data... | |
| Uniform.cpp | Loading commit data... | |
| Uniform.h | Loading commit data... | |
| VaryingPacking.cpp | Loading commit data... | |
| VaryingPacking.h | Loading commit data... | |
| VaryingPacking_unittest.cpp | Loading commit data... | |
| Version.h | Loading commit data... | |
| Version.inc | Loading commit data... | |
| VertexArray.cpp | Loading commit data... | |
| VertexArray.h | Loading commit data... | |
| VertexArray_unittest.cpp | Loading commit data... | |
| VertexAttribute.cpp | Loading commit data... | |
| VertexAttribute.h | Loading commit data... | |
| VertexAttribute.inc | Loading commit data... | |
| WorkerThread.cpp | Loading commit data... | |
| WorkerThread.h | Loading commit data... | |
| WorkerThread_unittest.cpp | Loading commit data... | |
| angletypes.cpp | Loading commit data... | |
| angletypes.h | Loading commit data... | |
| angletypes.inc | Loading commit data... | |
| capture_gles_1_0_autogen.cpp | Loading commit data... | |
| capture_gles_1_0_autogen.h | Loading commit data... | |
| capture_gles_1_0_params.cpp | Loading commit data... | |
| capture_gles_2_0_autogen.cpp | Loading commit data... | |
| capture_gles_2_0_autogen.h | Loading commit data... | |
| capture_gles_2_0_params.cpp | Loading commit data... | |
| capture_gles_3_0_autogen.cpp | Loading commit data... | |
| capture_gles_3_0_autogen.h | Loading commit data... | |
| capture_gles_3_0_params.cpp | Loading commit data... | |
| capture_gles_3_1_autogen.cpp | Loading commit data... | |
| capture_gles_3_1_autogen.h | Loading commit data... | |
| capture_gles_3_1_params.cpp | Loading commit data... | |
| capture_gles_3_2_autogen.cpp | Loading commit data... | |
| capture_gles_3_2_autogen.h | Loading commit data... | |
| capture_gles_3_2_params.cpp | Loading commit data... | |
| capture_gles_ext_autogen.cpp | Loading commit data... | |
| capture_gles_ext_autogen.h | Loading commit data... | |
| capture_gles_ext_params.cpp | Loading commit data... | |
| entry_points_enum_autogen.cpp | Loading commit data... | |
| entry_points_enum_autogen.h | Loading commit data... | |
| entry_points_utils.h | Loading commit data... | |
| es3_copy_conversion_formats.json | Loading commit data... | |
| es3_copy_conversion_table_autogen.cpp | Loading commit data... | |
| es3_format_type_combinations.json | Loading commit data... | |
| features.h | Loading commit data... | |
| format_map_autogen.cpp | Loading commit data... | |
| format_map_data.json | Loading commit data... | |
| format_map_desktop.cpp | Loading commit data... | |
| formatutils.cpp | Loading commit data... | |
| formatutils.h | Loading commit data... | |
| frame_capture_replay_autogen.cpp | Loading commit data... | |
| frame_capture_utils_autogen.cpp | Loading commit data... | |
| frame_capture_utils_autogen.h | Loading commit data... | |
| gen_copy_conversion_table.py | Loading commit data... | |
| gen_format_map.py | Loading commit data... | |
| gen_overlay_fonts.py | Loading commit data... | |
| gen_overlay_widgets.py | Loading commit data... | |
| gl_enum_utils.cpp | Loading commit data... | |
| gl_enum_utils.h | Loading commit data... | |
| gl_enum_utils_autogen.cpp | Loading commit data... | |
| gl_enum_utils_autogen.h | Loading commit data... | |
| histogram_macros.h | Loading commit data... | |
| overlay_widgets.json | Loading commit data... | |
| queryconversions.cpp | Loading commit data... | |
| queryconversions.h | Loading commit data... | |
| queryutils.cpp | Loading commit data... | |
| queryutils.h | Loading commit data... | |
| trace.h | Loading commit data... | |
| validationEGL.cpp | Loading commit data... | |
| validationEGL.h | Loading commit data... | |
| validationES.cpp | Loading commit data... | |
| validationES.h | Loading commit data... | |
| validationES1.cpp | Loading commit data... | |
| validationES1.h | Loading commit data... | |
| validationES1_autogen.h | Loading commit data... | |
| validationES2.cpp | Loading commit data... | |
| validationES2.h | Loading commit data... | |
| validationES2_autogen.h | Loading commit data... | |
| validationES3.cpp | Loading commit data... | |
| validationES3.h | Loading commit data... | |
| validationES31.cpp | Loading commit data... | |
| validationES31.h | Loading commit data... | |
| validationES31_autogen.h | Loading commit data... | |
| validationES32.cpp | Loading commit data... | |
| validationES32.h | Loading commit data... | |
| validationES32_autogen.h | Loading commit data... | |
| validationES3_autogen.h | Loading commit data... | |
| validationESEXT.cpp | Loading commit data... | |
| validationESEXT.h | Loading commit data... | |
| validationESEXT_autogen.h | Loading commit data... | |
| validationGL1.cpp | Loading commit data... | |
| validationGL11.cpp | Loading commit data... | |
| validationGL11_autogen.h | Loading commit data... | |
| validationGL12.cpp | Loading commit data... | |
| validationGL12_autogen.h | Loading commit data... | |
| validationGL13.cpp | Loading commit data... | |
| validationGL13_autogen.h | Loading commit data... | |
| validationGL14.cpp | Loading commit data... | |
| validationGL14_autogen.h | Loading commit data... | |
| validationGL15.cpp | Loading commit data... | |
| validationGL15_autogen.h | Loading commit data... | |
| validationGL1_autogen.h | Loading commit data... | |
| validationGL2.cpp | Loading commit data... | |
| validationGL21.cpp | Loading commit data... | |
| validationGL21_autogen.h | Loading commit data... | |
| validationGL2_autogen.h | Loading commit data... | |
| validationGL3.cpp | Loading commit data... | |
| validationGL31.cpp | Loading commit data... | |
| validationGL31_autogen.h | Loading commit data... | |
| validationGL32.cpp | Loading commit data... | |
| validationGL32_autogen.h | Loading commit data... | |
| validationGL33.cpp | Loading commit data... | |
| validationGL33_autogen.h | Loading commit data... | |
| validationGL3_autogen.h | Loading commit data... | |
| validationGL4.cpp | Loading commit data... | |
| validationGL41.cpp | Loading commit data... | |
| validationGL41_autogen.h | Loading commit data... | |
| validationGL42.cpp | Loading commit data... | |
| validationGL42_autogen.h | Loading commit data... | |
| validationGL43.cpp | Loading commit data... | |
| validationGL43_autogen.h | Loading commit data... | |
| validationGL44.cpp | Loading commit data... | |
| validationGL44_autogen.h | Loading commit data... | |
| validationGL45.cpp | Loading commit data... | |
| validationGL45_autogen.h | Loading commit data... | |
| validationGL46.cpp | Loading commit data... | |
| validationGL46_autogen.h | Loading commit data... | |
| validationGL4_autogen.h | Loading commit data... |