Fix #18530. Remove extra stat call from posixpath.ismount
This commit is contained in:
parent
7b3902a20f
commit
06f6fbffd4
|
@ -182,18 +182,24 @@ def lexists(path):
|
|||
|
||||
def ismount(path):
|
||||
"""Test whether a path is a mount point"""
|
||||
if islink(path):
|
||||
# A symlink can never be a mount point
|
||||
return False
|
||||
try:
|
||||
s1 = os.lstat(path)
|
||||
if isinstance(path, bytes):
|
||||
parent = join(path, b'..')
|
||||
else:
|
||||
parent = join(path, '..')
|
||||
except OSError:
|
||||
# It doesn't exist -- so not a mount point. :-)
|
||||
return False
|
||||
else:
|
||||
if stat.S_ISLNK(s1.st_mode):
|
||||
return False
|
||||
|
||||
if isinstance(path, bytes):
|
||||
parent = join(path, b'..')
|
||||
else:
|
||||
parent = join(path, '..')
|
||||
try:
|
||||
s2 = os.lstat(parent)
|
||||
except OSError:
|
||||
return False # It doesn't exist -- so not a mount point :-)
|
||||
return False
|
||||
|
||||
dev1 = s1.st_dev
|
||||
dev2 = s2.st_dev
|
||||
if dev1 != dev2:
|
||||
|
|
|
@ -162,6 +162,9 @@ Core and Builtins
|
|||
Library
|
||||
-------
|
||||
|
||||
- Issue #18530: Remove additional stat call from posixpath.ismount.
|
||||
Patch by Alex Gaynor.
|
||||
|
||||
- Issue #18514: Fix unreachable Py_DECREF() call in PyCData_FromBaseObj()
|
||||
|
||||
- Issue #9177: Calling read() or write() now raises ValueError, not
|
||||
|
|
Loading…
Reference in New Issue