Commit ee44cb3c authored by Mariusz Szczepańczyk's avatar Mariusz Szczepańczyk Committed by Michael Niedermayer

lavf/ftp: properly read an empty path

Signed-off-by: 's avatarMichael Niedermayer <michael@niedermayer.cc>
parent bc930531
......@@ -354,10 +354,7 @@ static int ftp_current_dir(FTPContext *s)
if (!end)
goto fail;
if (end > res && end[-1] == '/') {
end[-1] = '\0';
} else
*end = '\0';
*end = '\0';
s->path = av_strdup(start);
av_free(res);
......@@ -605,9 +602,8 @@ static int ftp_connect(URLContext *h, const char *url)
{
char proto[10], path[MAX_URL_SIZE], credencials[MAX_URL_SIZE], hostname[MAX_URL_SIZE];
const char *tok_user = NULL, *tok_pass = NULL;
char *end = NULL;
char *end = NULL, *newpath = NULL;
int err;
size_t pathlen;
FTPContext *s = h->priv_data;
s->state = DISCONNECTED;
......@@ -642,10 +638,12 @@ static int ftp_connect(URLContext *h, const char *url)
if ((err = ftp_current_dir(s)) < 0)
return err;
pathlen = strlen(s->path) + strlen(path) + 1;
if ((err = av_reallocp(&s->path, pathlen)) < 0)
return err;
av_strlcat(s->path + strlen(s->path), path, pathlen);
newpath = av_append_path_component(s->path, path);
if (!newpath)
return AVERROR(ENOMEM);
av_free(s->path);
s->path = newpath;
return 0;
}
......
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