mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2024-12-26 01:02:33 +00:00
avformat/ftp: Fix for invalid use of av_strtok
By the av_strtok() description: * On the first call to av_strtok(), s should point to the string to * parse, and the value of saveptr is ignored. In subsequent calls, s * should be NULL, and saveptr should be unchanged since the previous * call. Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
This commit is contained in:
parent
026b3a9018
commit
53c88355a5
@ -333,15 +333,15 @@ static int ftp_passive_mode(FTPContext *s)
|
||||
*end = '\0';
|
||||
/* skip ip */
|
||||
if (!av_strtok(start, ",", &end)) goto fail;
|
||||
if (!av_strtok(end, ",", &end)) goto fail;
|
||||
if (!av_strtok(end, ",", &end)) goto fail;
|
||||
if (!av_strtok(end, ",", &end)) goto fail;
|
||||
if (!av_strtok(NULL, ",", &end)) goto fail;
|
||||
if (!av_strtok(NULL, ",", &end)) goto fail;
|
||||
if (!av_strtok(NULL, ",", &end)) goto fail;
|
||||
|
||||
/* parse port number */
|
||||
start = av_strtok(end, ",", &end);
|
||||
start = av_strtok(NULL, ",", &end);
|
||||
if (!start) goto fail;
|
||||
s->server_data_port = atoi(start) * 256;
|
||||
start = av_strtok(end, ",", &end);
|
||||
start = av_strtok(NULL, ",", &end);
|
||||
if (!start) goto fail;
|
||||
s->server_data_port += atoi(start);
|
||||
ff_dlog(s, "Server data port: %d\n", s->server_data_port);
|
||||
@ -963,8 +963,10 @@ static int ftp_parse_entry_nlst(char *line, AVIODirEntry *next)
|
||||
static int ftp_parse_entry_mlsd(char *mlsd, AVIODirEntry *next)
|
||||
{
|
||||
char *fact, *value;
|
||||
char *saveptr = NULL, *p = mlsd;
|
||||
ff_dlog(NULL, "%s\n", mlsd);
|
||||
while(fact = av_strtok(mlsd, ";", &mlsd)) {
|
||||
while(fact = av_strtok(p, ";", &saveptr)) {
|
||||
p = NULL;
|
||||
if (fact[0] == ' ') {
|
||||
next->name = av_strdup(&fact[1]);
|
||||
continue;
|
||||
|
Loading…
Reference in New Issue
Block a user