Why exception from os.path.exists()?

Marko Rauhamaa marko at pacujo.net
Thu May 31 08:03:06 EDT 2018


This surprising exception can even be a security issue:

   >>> os.path.exists("\0")
   Traceback (most recent call last):
     File "<stdin>", line 1, in <module>
     File "/usr/lib64/python3.6/genericpath.py", line 19, in exists
       os.stat(path)
   ValueError: embedded null byte

Most other analogous reasons *don't* generate an exception, nor is that
possibility mentioned in the specification:

   https://docs.python.org/3/library/os.path.html?#os.path.exists

Is the behavior a bug? Shouldn't it be:

   >>> os.path.exists("\0")
   False


Marko



More information about the Python-list mailing list