Browse Source

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
tags/v0.5
Ronald S. Bultje 17 years ago
parent
commit
47f944a2ef
1 changed files with 5 additions and 7 deletions
  1. +5
    -7
      libavformat/tcp.c

+ 5
- 7
libavformat/tcp.c View File

@@ -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;
}



Loading…
Cancel
Save