Larry Hastings <la...@hastings.org> added the comment:

I'm not a security guy, but: shouldn't the os.unlink call when it isn't a 
directory specify follow_symlinks=False?  And wouldn't it be safer if the 
os.rmdir() call also used dir_fd=?


Additionally, I think you missed some stuff for shutil._use_fd_functions.  
Assuming I'm right on both of the above, you should also check:
* os.listdir in os.supports_dir_fd
* os.rmdir in os.supports_dir_fd
* os.stat in os.supports_dir_fd
* os.stat in os.supports_follow_symlinks
* os.unlink in os.supports_follow_symlinks

I'd spell that
_use_fd_functions = ({os.listdir, os.open, os.rmdir, os.stat, os.unlink} < 
    os.supports_dir_fd and
    {os.stat, os.unlink} <= os.supports_follow_symlinks)


Finally, up to you, but I'd be tempted to change the "lstat" "and "fstat" calls 
to "stat" calls using the relevant parameters.

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue4489>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to