summaryrefslogtreecommitdiff
path: root/libavformat/http.c
diff options
context:
space:
mode:
authorMartin Storsjö <martin@martin.st>2012-06-01 16:24:47 +0300
committerMartin Storsjö <martin@martin.st>2012-06-01 18:38:28 +0300
commit3cbcfa2decdbe2b223f7f878b03a5f33a41a22f5 (patch)
treec802656729ab83adbd86589932989a80d5f36704 /libavformat/http.c
parentb7c3772be855f95f0e1903daf48c4c0246d680fb (diff)
http: Clear the old URLContext pointer when closed
This fixes issues with opening http urls that have authentication or redirects, introduced in commit e999b641. Signed-off-by: Martin Storsjö <martin@martin.st>
Diffstat (limited to 'libavformat/http.c')
-rw-r--r--libavformat/http.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/libavformat/http.c b/libavformat/http.c
index 22600b4e4a..61266dfb01 100644
--- a/libavformat/http.c
+++ b/libavformat/http.c
@@ -161,6 +161,7 @@ static int http_open_cnx(URLContext *h)
if ((cur_auth_type == HTTP_AUTH_NONE || s->auth_state.stale) &&
s->auth_state.auth_type != HTTP_AUTH_NONE && attempts < 4) {
ffurl_close(hd);
+ s->hd = hd = NULL;
goto redo;
} else
goto fail;
@@ -169,6 +170,7 @@ static int http_open_cnx(URLContext *h)
if ((cur_proxy_auth_type == HTTP_AUTH_NONE || s->proxy_auth_state.stale) &&
s->proxy_auth_state.auth_type != HTTP_AUTH_NONE && attempts < 4) {
ffurl_close(hd);
+ s->hd = hd = NULL;
goto redo;
} else
goto fail;
@@ -177,6 +179,7 @@ static int http_open_cnx(URLContext *h)
&& location_changed == 1) {
/* url moved, get next */
ffurl_close(hd);
+ s->hd = hd = NULL;
if (redirects++ >= MAX_REDIRECTS)
return AVERROR(EIO);
/* Restart the authentication process with the new target, which