[FFmpeg-devel] [PATCH 1/2] ffserver: Fix off by 1 error in path

Clément Bœsch u at pkh.me
Mon Oct 23 11:42:53 EEST 2017


On Sun, Oct 22, 2017 at 05:11:20PM +0200, Michael Niedermayer wrote:
> Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
> ---
>  fftools/ffserver.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/fftools/ffserver.c b/fftools/ffserver.c
> index d4885dfa0e..51f31bc704 100644
> --- a/fftools/ffserver.c
> +++ b/fftools/ffserver.c
> @@ -499,9 +499,9 @@ static void start_children(FFServerStream *feed)
>      if (!slash) {
>          pathname = av_mallocz(sizeof("ffmpeg"));
>      } else {
> -        pathname = av_mallocz(slash - my_program_name + sizeof("ffmpeg"));
> +        pathname = av_mallocz(slash - my_program_name + 1 + sizeof("ffmpeg"));
>          if (pathname != NULL) {
> -            memcpy(pathname, my_program_name, slash - my_program_name);
> +            memcpy(pathname, my_program_name, slash - my_program_name + 1);
>          }

maybe that's correct but the whole code around here needs rewrite.

how about changing the whole chunk with (untested):

    prog = av_strdup(my_program_name);
    dirname = av_dirname(prog);
    pathname = *dirname ? av_asprintf("%s/%s", dirname, "ffmpeg")
                        : av_asprintf("ffmpeg")
    av_free(filepath);

-- 
Clément B.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20171023/ff614a04/attachment.sig>


More information about the ffmpeg-devel mailing list