gstreamer/subprojects/gst-plugins-bad/gst-libs/gst/webrtc/nice
Johan Sternerup 4b96294f19 webrtc: Fix possible use-after-free of GstWebRTCICETransport
Because of the asynchronous resolving of mDNS ICE candidates it is
possible that GstWebRTCICE outlives webrtcbin. This in turn prolongs
the lifetime of the GstWebRTCNiceStream objects via refs in
nice_stream_map. Thus the GstWebRTCICETransport objects held in
GstWebRTCNiceStream may be invalid at the time they are accessed by
the _on_candidate_gathering_done() callback since GstWebRTCNiceStream
doesn't take a reference to them. Doing so would create a circular
reference, so instead this commit introduces weak references to the
transport objects and then we can check if the objects are valid before
accessing them.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3502>
2022-12-02 03:37:29 +00:00
..
meson.build meson: Namespace the plugins_doc_dep/libraries variables 2022-09-01 21:17:35 +00:00
nice.c webrtcbin: Add settings for HTTP proxy 2022-11-18 15:00:58 +00:00
nice.h webrtc: Split WebRTCICE into base classes and implementation. 2022-07-26 13:51:11 +00:00
nice_fwd.h webrtc: Split WebRTCICE into base classes and implementation. 2022-07-26 13:51:11 +00:00
nicestream.c webrtc: Fix possible use-after-free of GstWebRTCICETransport 2022-12-02 03:37:29 +00:00
nicestream.h webrtc: Split WebRTCICE into base classes and implementation. 2022-07-26 13:51:11 +00:00
nicetransport.c webrtc: nice: WeakRef access fixes 2022-08-01 13:13:16 +00:00
nicetransport.h webrtc: Split WebRTCICE into base classes and implementation. 2022-07-26 13:51:11 +00:00