summaryrefslogtreecommitdiff
path: root/libavformat/tls_gnutls.c
diff options
context:
space:
mode:
authorBłażej Szczygieł <spaz16@wp.pl>2019-08-16 10:38:46 +0200
committerJan Ekström <jeebjp@gmail.com>2020-04-21 21:14:26 +0300
commit561ba15c973120c9565a8f75a7439f3e8a10e04d (patch)
tree51ee0b086d84281de5a54c2fac16cf3bd9146eb4 /libavformat/tls_gnutls.c
parente3c7b22451799a2890062b756b645cc5f2e8752e (diff)
downloadffmpeg-561ba15c973120c9565a8f75a7439f3e8a10e04d.tar.gz
lavf/tls_gnutls: check for interrupt inside handshake loop
fixes #8080 Signed-off-by: Błażej Szczygieł <spaz16@wp.pl>
Diffstat (limited to 'libavformat/tls_gnutls.c')
-rw-r--r--libavformat/tls_gnutls.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/libavformat/tls_gnutls.c b/libavformat/tls_gnutls.c
index f32bc2821b..e41156cc30 100644
--- a/libavformat/tls_gnutls.c
+++ b/libavformat/tls_gnutls.c
@@ -183,6 +183,11 @@ static int tls_open(URLContext *h, const char *uri, int flags, AVDictionary **op
gnutls_transport_set_ptr(p->session, c->tcp);
gnutls_priority_set_direct(p->session, "NORMAL", NULL);
do {
+ if (ff_check_interrupt(&h->interrupt_callback)) {
+ ret = AVERROR_EXIT;
+ goto fail;
+ }
+
ret = gnutls_handshake(p->session);
if (gnutls_error_is_fatal(ret)) {
ret = print_tls_error(h, ret);