diff options
author | Martin Storsjö <martin@martin.st> | 2012-06-01 16:24:47 +0300 |
---|---|---|
committer | Martin Storsjö <martin@martin.st> | 2012-06-01 18:38:28 +0300 |
commit | 3cbcfa2decdbe2b223f7f878b03a5f33a41a22f5 (patch) | |
tree | c802656729ab83adbd86589932989a80d5f36704 /libavformat/http.c | |
parent | b7c3772be855f95f0e1903daf48c4c0246d680fb (diff) | |
download | ffmpeg-3cbcfa2decdbe2b223f7f878b03a5f33a41a22f5.tar.gz |
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.c | 3 |
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 |