[FFmpeg-devel] [PATCH] avfilter/vf_stack: Don't modify const strings
Gyan
ffmpeg at gyani.pro
Tue May 14 08:15:30 EEST 2019
On 14-05-2019 09:45 AM, Andreas Rheinhardt wrote:
> b3b7ba62 introduced undefined behaviour: A (non-modifiable) string
> literal has been assigned to a modifiable string; said string was indeed
> modified later via av_strtok.
> This of course caused compiler warnings because of the discarded
> qualifier; these are in particular fixed by this commit.
>
> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at gmail.com>
> ---
> libavfilter/vf_stack.c | 8 +++++---
> 1 file changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/libavfilter/vf_stack.c b/libavfilter/vf_stack.c
> index 1455f196a7..4d254e0013 100644
> --- a/libavfilter/vf_stack.c
> +++ b/libavfilter/vf_stack.c
> @@ -84,9 +84,11 @@ static av_cold int init(AVFilterContext *ctx)
>
> if (!strcmp(ctx->filter->name, "xstack")) {
> if (!s->layout) {
> - if (s->nb_inputs == 2)
> - s->layout = "0_0|w0_0";
> - else {
> + if (s->nb_inputs == 2) {
> + s->layout = av_strdup("0_0|w0_0");
> + if (!s->layout)
> + return AVERROR(ENOMEM);
> + } else {
> av_log(ctx, AV_LOG_ERROR, "No layout specified.\n");
> return AVERROR(EINVAL);
> }
Sorry, I missed what was being done with the string later on.
Gyan
More information about the ffmpeg-devel
mailing list