[FFmpeg-cvslog] r23529 - trunk/libavformat/http.c
mstorsjo
subversion
Tue Jun 8 13:18:22 CEST 2010
Author: mstorsjo
Date: Tue Jun 8 13:18:22 2010
New Revision: 23529
Log:
Fix handling of errors in the http protocol
If http_connect fails, we've already stored the new connection handle in s->hd,
so clear it so http_close won't double-free it.
10l to me for not spotting it during review
Modified:
trunk/libavformat/http.c
Modified: trunk/libavformat/http.c
==============================================================================
--- trunk/libavformat/http.c Tue Jun 8 13:06:36 2010 (r23528)
+++ trunk/libavformat/http.c Tue Jun 8 13:18:22 2010 (r23529)
@@ -131,6 +131,7 @@ static int http_open_cnx(URLContext *h)
fail:
if (hd)
url_close(hd);
+ s->hd = NULL;
return AVERROR(EIO);
}
@@ -149,6 +150,7 @@ static int http_open(URLContext *h, cons
s->chunksize = -1;
s->off = 0;
s->init = 0;
+ s->hd = NULL;
*s->headers = '\0';
memset(&s->auth_state, 0, sizeof(s->auth_state));
av_strlcpy(s->location, uri, URL_SIZE);
@@ -452,7 +454,8 @@ static int http_close(URLContext *h)
ret = ret > 0 ? 0 : ret;
}
- url_close(s->hd);
+ if (s->hd)
+ url_close(s->hd);
av_free(s);
return ret;
}
More information about the ffmpeg-cvslog
mailing list