gstreamer/subprojects/gst-plugins-bad/sys/d3d11
Seungha Yang b9e51facdd d3d11decoder: Fix potential use after free
A DPB buffer held by codec picture object may not be writable
at the moment, then gst_buffer_make_writable() will unref passed buffer.

Specifically, the use after free or double free can happen if:
* Crop meta of buffer copy is required because of non-zero
  top-left crop position
* zero-copy is possible with crop meta
* A picture was duplicated, interlaced h264 stream for example

Interlaced h264 stream with non-zero top-left crop position
is not very common but it's possible configuration in theory.

Thus gst_buffer_make_writable() should be called with
GstVideoCodecFrame.output_buffer directly.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6706>
2024-04-22 13:28:06 +00:00
..
gstd3d11av1dec.cpp
gstd3d11av1dec.h
gstd3d11basefilter.cpp
gstd3d11basefilter.h
gstd3d11compositor.cpp
gstd3d11compositor.h
gstd3d11convert.cpp
gstd3d11convert.h
gstd3d11decoder.cpp d3d11decoder: Fix potential use after free 2024-04-22 13:28:06 +00:00
gstd3d11decoder.h
gstd3d11deinterlace.cpp
gstd3d11deinterlace.h
gstd3d11download.cpp
gstd3d11download.h
gstd3d11dxgicapture.cpp
gstd3d11dxgicapture.h
gstd3d11h264dec.cpp
gstd3d11h264dec.h
gstd3d11h265dec.cpp
gstd3d11h265dec.h
gstd3d11ipc.cpp
gstd3d11ipc.h
gstd3d11ipcclient.cpp
gstd3d11ipcclient.h
gstd3d11ipcserver.cpp
gstd3d11ipcserver.h
gstd3d11ipcsink.cpp
gstd3d11ipcsink.h
gstd3d11ipcsrc.cpp
gstd3d11ipcsrc.h
gstd3d11mpeg2dec.cpp
gstd3d11mpeg2dec.h
gstd3d11overlay.cpp
gstd3d11overlay.h
gstd3d11overlaycompositor.cpp
gstd3d11overlaycompositor.h
gstd3d11pluginutils.cpp d3d11: Port to d3dshader library 2024-03-24 22:28:14 +09:00
gstd3d11pluginutils.h
gstd3d11screencapture.cpp
gstd3d11screencapture.h
gstd3d11screencapturedevice.cpp
gstd3d11screencapturedevice.h
gstd3d11screencapturesrc.cpp
gstd3d11screencapturesrc.h
gstd3d11testsrc.cpp
gstd3d11testsrc.h
gstd3d11upload.cpp
gstd3d11upload.h
gstd3d11videosink.cpp d3d11videosink: Handle double click and modifier 2024-04-18 20:19:38 +00:00
gstd3d11videosink.h
gstd3d11vp8dec.cpp
gstd3d11vp8dec.h
gstd3d11vp9dec.cpp
gstd3d11vp9dec.h
gstd3d11window.cpp d3d11videosink: Handle double click and modifier 2024-04-18 20:19:38 +00:00
gstd3d11window.h d3d11videosink: Handle double click and modifier 2024-04-18 20:19:38 +00:00
gstd3d11window_corewindow.cpp
gstd3d11window_corewindow.h
gstd3d11window_dummy.cpp d3d11videosink: Fix rendering on keyed mutex enabled handle 2024-04-12 14:46:20 +00:00
gstd3d11window_dummy.h
gstd3d11window_swapchainpanel.cpp
gstd3d11window_swapchainpanel.h
gstd3d11window_win32.cpp d3d11videosink: Handle double click and modifier 2024-04-18 20:19:38 +00:00
gstd3d11window_win32.h
gstd3d11winrtcapture.cpp
gstd3d11winrtcapture.h
meson.build d3d11: Port to d3dshader library 2024-03-24 22:28:14 +09:00
plugin.cpp