Commit 9e89c0b1 authored by rbultje's avatar rbultje

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.



git-svn-id: file:///var/local/repositories/ffmpeg/trunk@14924 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b
parent 8b3edaa2
......@@ -49,12 +49,6 @@ static int tcp_open(URLContext *h, const char *uri, int flags)
if (strcmp(proto,"tcp")) goto fail;
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)
goto fail;
......@@ -100,6 +94,11 @@ static int tcp_open(URLContext *h, const char *uri, int flags)
if (ret != 0)
goto fail;
}
s = av_malloc(sizeof(TCPContext));
if (!s)
return AVERROR(ENOMEM);
h->priv_data = s;
h->is_streamed = 1;
s->fd = fd;
return 0;
......@@ -108,7 +107,6 @@ static int tcp_open(URLContext *h, const char *uri, int flags)
fail1:
if (fd >= 0)
closesocket(fd);
av_free(s);
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