[FFmpeg-devel] [PATCH 1/3] lavf/file: file_check: Handle paths that start with file:
Stefano Sabatini
stefasab at gmail.com
Fri Jan 3 18:19:16 CET 2014
On date Friday 2014-01-03 17:35:10 +0100, Stefano Sabatini encoded:
> Subject nit: lavf/file: file_check: handle paths that start with "file:"
>
> Also you should tell how this is handling it.
>
> On date Thursday 2014-01-02 20:21:23 +0100, Alexander Strasser encoded:
> > Fix part of ticket #3249.
> >
> > TODO: file_check is also used in pipe protocol,
> > but this patch should not hurt AFAICT
> >
> > Signed-off-by: Alexander Strasser <eclipse7 at gmx.net>
> > ---
> > libavformat/file.c | 15 ++++++++++-----
> > 1 file changed, 10 insertions(+), 5 deletions(-)
> >
> > diff --git a/libavformat/file.c b/libavformat/file.c
> > index 2defc75..acae281 100644
> > --- a/libavformat/file.c
> > +++ b/libavformat/file.c
> > @@ -104,25 +104,30 @@ static int file_get_handle(URLContext *h)
> >
> > static int file_check(URLContext *h, int mask)
> > {
> > -#if HAVE_ACCESS && defined(R_OK)
> > int ret = 0;
> > - if (access(h->filename, F_OK) < 0)
>
> > + const char * filename = h->filename;
>
> nit: const char *filename = ...
>
> > + av_strstart(filename, "file:", &filename);
>
> So basically this is stripping "file:" from the filename. I'm not sure
> it is correct to mangle the provided input file (the prefix should be
> already stripped by the framework code). What happens for example if
> the file starts with "file:"?
OTOH in that case the user can still do: file:$FILENAME to protect
names containing an initial "file:" (e.g. file:I:am:a:file) so I guess
this solution is acceptable and is consistent with file_open().
We should probably clarify docs about this.
--
FFmpeg = Fostering & Fundamental Mythic Puristic Eretic God
More information about the ffmpeg-devel
mailing list