Commit 47f944a2 authored by Ronald S. Bultje's avatar Ronald S. Bultje

Move malloc() down until after all initializations, so that the resource is

only allocated if initialization worked. This means that on failure, we
don't have to deallocate it.

Originally committed as revision 14924 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent e6c13819
...@@ -49,12 +49,6 @@ static int tcp_open(URLContext *h, const char *uri, int flags) ...@@ -49,12 +49,6 @@ static int tcp_open(URLContext *h, const char *uri, int flags)
if (strcmp(proto,"tcp")) goto fail; if (strcmp(proto,"tcp")) goto fail;
if ((q = strchr(hostname,'@'))) { strcpy(tmp,q+1); strcpy(hostname,tmp); } if ((q = strchr(hostname,'@'))) { strcpy(tmp,q+1); strcpy(hostname,tmp); }
s = av_malloc(sizeof(TCPContext));
if (!s)
return AVERROR(ENOMEM);
h->priv_data = s;
h->is_streamed = 1;
if (port <= 0 || port >= 65536) if (port <= 0 || port >= 65536)
goto fail; goto fail;
...@@ -100,6 +94,11 @@ static int tcp_open(URLContext *h, const char *uri, int flags) ...@@ -100,6 +94,11 @@ static int tcp_open(URLContext *h, const char *uri, int flags)
if (ret != 0) if (ret != 0)
goto fail; goto fail;
} }
s = av_malloc(sizeof(TCPContext));
if (!s)
return AVERROR(ENOMEM);
h->priv_data = s;
h->is_streamed = 1;
s->fd = fd; s->fd = fd;
return 0; return 0;
...@@ -108,7 +107,6 @@ static int tcp_open(URLContext *h, const char *uri, int flags) ...@@ -108,7 +107,6 @@ static int tcp_open(URLContext *h, const char *uri, int flags)
fail1: fail1:
if (fd >= 0) if (fd >= 0)
closesocket(fd); closesocket(fd);
av_free(s);
return ret; return ret;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment