[FFmpeg-devel] [PATCH v1 2/2] libavformat/file: initilize the fd to -1 instead of 0(valid fd) in case unexpected file close

Michael Niedermayer michael at niedermayer.cc
Sun Jul 14 15:05:08 EEST 2019


On Sat, Jul 13, 2019 at 06:36:28AM +0800, Limin Wang wrote:
> On Fri, Jul 12, 2019 at 10:44:48PM +0200, Michael Niedermayer wrote:
> > On Tue, Jun 18, 2019 at 06:45:13PM +0800, lance.lmwang at gmail.com wrote:
> > > From: Limin Wang <lance.lmwang at gmail.com>
> > > 
> > > Signed-off-by: Limin Wang <lance.lmwang at gmail.com>
> > > ---
> > >  libavformat/file.c | 1 +
> > >  1 file changed, 1 insertion(+)
> > > 
> > > diff --git a/libavformat/file.c b/libavformat/file.c
> > > index 08c7f8e6dd..40ae9ad2a8 100644
> > > --- a/libavformat/file.c
> > > +++ b/libavformat/file.c
> > > @@ -274,6 +274,7 @@ static int file_open_dir(URLContext *h)
> > >  #if HAVE_LSTAT
> > >      FileContext *c = h->priv_data;
> > >  
> > > +    c->fd = -1;
> > >      c->dir = opendir(h->filename);
> > >      if (!c->dir)
> > >          return AVERROR(errno);
> > 
> > Is it more robust to set fd=-1 after successfully opening the directory ?
> > 
> > considering that this could be already opened as a file ...
> > (such combinations seem to be what the patch is about IIUC)
> > and that on failure we could prefer to leave the state close to the
> > original before the call
> I'm using open the directory operation without any file combiations, if
> the context need to support both dir and file combined, then I need do more
> testing for the condition.

It doesnt need no, but people do mix it as it seems. So the behvior
in that case should be "usefull" like erroring our or failing an assert
while in this case i think it would just leak the open file and continue
that may be harder to debug for the user

thx
[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

The educated differ from the uneducated as much as the living from the
dead. -- Aristotle 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20190714/055bbb61/attachment.sig>


More information about the ffmpeg-devel mailing list