[PATCH 3/7] server: Fail to set delete disposition on a non-empty directory.

Dmitry Timoshkov dmitry at baikal.ru
Thu Nov 8 00:21:35 CST 2018


Alexandre Julliard <julliard at winehq.org> wrote:

> > +static int is_directory_empty( struct fd *fd )
> > +{
> > +    DIR *dir;
> > +    int count = 0;
> > +
> > +    if ((dir = fdopendir( fd->unix_fd )))
> > +    {
> > +        while (readdir( dir ) != NULL && count <= 2)
> > +            count++;
> > +
> > +        closedir( dir );
> > +    }
> 
> This won't work, closedir() is going to close the file descriptor.

Would it be acceptable to duplicate the fd before the check?

-- 
Dmitry.



More information about the wine-devel mailing list