1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-01-29 22:00:58 +02:00

fftools/ffprobe: make option strings dynamically allocated

Do not store the supplied arg pointer directly. While that is valid for
now, arg will become ephemeral in the future commits.
This commit is contained in:
Anton Khirnov 2022-03-14 12:30:31 +01:00
parent 568dfed06f
commit 4ce1987abc

View File

@ -3828,7 +3828,9 @@ static int opt_input_file(void *optctx, const char *arg)
} }
if (!strcmp(arg, "-")) if (!strcmp(arg, "-"))
arg = "fd:"; arg = "fd:";
input_filename = arg; input_filename = av_strdup(arg);
if (!input_filename)
return AVERROR(ENOMEM);
return 0; return 0;
} }
@ -3849,15 +3851,18 @@ static int opt_output_file_o(void *optctx, const char *opt, const char *arg)
} }
if (!strcmp(arg, "-")) if (!strcmp(arg, "-"))
arg = "fd:"; arg = "fd:";
output_filename = arg; output_filename = av_strdup(arg);
if (!output_filename)
return AVERROR(ENOMEM);
return 0; return 0;
} }
static int opt_print_filename(void *optctx, const char *opt, const char *arg) static int opt_print_filename(void *optctx, const char *opt, const char *arg)
{ {
print_input_filename = arg; av_freep(&print_input_filename);
return 0; print_input_filename = av_strdup(arg);
return print_input_filename ? 0 : AVERROR(ENOMEM);
} }
void show_help_default(const char *opt, const char *arg) void show_help_default(const char *opt, const char *arg)
@ -4287,6 +4292,9 @@ int main(int argc, char **argv)
end: end:
av_freep(&output_format); av_freep(&output_format);
av_freep(&output_filename);
av_freep(&input_filename);
av_freep(&print_input_filename);
av_freep(&read_intervals); av_freep(&read_intervals);
av_hash_freep(&hash); av_hash_freep(&hash);