gstreamer/subprojects/gst-plugins-bad/gst-libs/gst/webrtc
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
..
nice webrtc: Fix possible use-after-free of GstWebRTCICETransport 2022-12-02 03:37:29 +00:00
datachannel.c webrtc: return error when sending on non-open datachannel 2022-10-05 11:08:30 +00:00
datachannel.h webrtc: return error when sending on non-open datachannel 2022-10-05 11:08:30 +00:00
dtlstransport.c webrtc: Fix documentaton moving symbols in the right pages 2022-08-18 08:34:36 +00:00
dtlstransport.h Move files from gst-plugins-bad into the "subprojects/gst-plugins-bad/" subdir 2021-09-24 16:14:36 -03:00
ice.c webrtcbin: Add settings for HTTP proxy 2022-11-18 15:00:58 +00:00
ice.h webrtcbin: Add settings for HTTP proxy 2022-11-18 15:00:58 +00:00
icestream.c webrtc: Fix documentaton moving symbols in the right pages 2022-08-18 08:34:36 +00:00
icestream.h webrtc: Split WebRTCICE into base classes and implementation. 2022-07-26 13:51:11 +00:00
icetransport.c webrtc: Add/fix various annotations 2022-10-18 08:56:58 +00:00
icetransport.h webrtc: Add/fix various annotations 2022-10-18 08:56:58 +00:00
meson.build meson: Namespace the plugins_doc_dep/libraries variables 2022-09-01 21:17:35 +00:00
rtcsessiondescription.c Move files from gst-plugins-bad into the "subprojects/gst-plugins-bad/" subdir 2021-09-24 16:14:36 -03:00
rtcsessiondescription.h Move files from gst-plugins-bad into the "subprojects/gst-plugins-bad/" subdir 2021-09-24 16:14:36 -03:00
rtpreceiver.c webrtc: Fix documentaton moving symbols in the right pages 2022-08-18 08:34:36 +00:00
rtpreceiver.h Move files from gst-plugins-bad into the "subprojects/gst-plugins-bad/" subdir 2021-09-24 16:14:36 -03:00
rtpsender.c webrtc: Fix documentaton moving symbols in the right pages 2022-08-18 08:34:36 +00:00
rtpsender.h Move files from gst-plugins-bad into the "subprojects/gst-plugins-bad/" subdir 2021-09-24 16:14:36 -03:00
rtptransceiver.c webrtc: Fix documentaton moving symbols in the right pages 2022-08-18 08:34:36 +00:00
rtptransceiver.h Move files from gst-plugins-bad into the "subprojects/gst-plugins-bad/" subdir 2021-09-24 16:14:36 -03:00
sctptransport.c Move files from gst-plugins-bad into the "subprojects/gst-plugins-bad/" subdir 2021-09-24 16:14:36 -03:00
sctptransport.h Move files from gst-plugins-bad into the "subprojects/gst-plugins-bad/" subdir 2021-09-24 16:14:36 -03:00
webrtc-priv.h webrtc: return error when sending on non-open datachannel 2022-10-05 11:08:30 +00:00
webrtc.c webrtc: Expose RTCError enum 2022-01-29 14:42:22 +00:00
webrtc.h webrtc: Split WebRTCICE into base classes and implementation. 2022-07-26 13:51:11 +00:00
webrtc_fwd.h webrtc: Improve GstWebRTCStatsType docstring 2022-11-19 13:12:58 +11:00