summaryrefslogtreecommitdiff
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-09-04 22:20:02 +0300
commitf07dc7cc1c9c93d98514fb4c8cfe5d47e7a151d1 (patch)
treee097ed1c5cd696410a074995ed0d178f96e3d9f2
parent90f9f23279c179acf2ac6ea83efa689a53c460d3 (diff)
downloadffmpeg-f07dc7cc1c9c93d98514fb4c8cfe5d47e7a151d1.tar.gz
lavf/tls_gnutls: check for interrupt inside handshake loop
fixes #8080 Signed-off-by: Błażej Szczygieł <spaz16@wp.pl> (cherry picked from commit 561ba15c973120c9565a8f75a7439f3e8a10e04d)
-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);