diff options
-rw-r--r-- | ext/curl/gstcurlbasesink.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/ext/curl/gstcurlbasesink.c b/ext/curl/gstcurlbasesink.c index b13c182eb..3b3ab2aa0 100644 --- a/ext/curl/gstcurlbasesink.c +++ b/ext/curl/gstcurlbasesink.c @@ -981,6 +981,15 @@ handle_transfer (GstCurlBaseSink * sink) GST_OBJECT_LOCK (sink); if (sink->socket_type == CURLSOCKTYPE_ACCEPT) { + /* FIXME: remove this again once we can depend on libcurl > 7.44.0, + * see https://github.com/bagder/curl/issues/405. + */ + if (G_UNLIKELY (sink->fd.fd < 0)) { + sink->error = g_strdup_printf ("unknown error"); + retval = GST_FLOW_ERROR; + GST_OBJECT_UNLOCK (sink); + goto fail; + } if (!gst_poll_remove_fd (sink->fdset, &sink->fd)) { sink->error = g_strdup_printf ("failed to remove fd"); retval = GST_FLOW_ERROR; |