mirror of
https://github.com/tahoe-lafs/tahoe-lafs.git
synced 2025-02-02 01:08:20 +00:00
Fix infinite loop in should_ignore_path for absolute paths.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
This commit is contained in:
parent
ae27bc2b83
commit
35e05fa979
@ -2,7 +2,7 @@
|
|||||||
import re
|
import re
|
||||||
import os.path
|
import os.path
|
||||||
|
|
||||||
from allmydata.util.assertutil import precondition
|
from allmydata.util.assertutil import precondition, _assert
|
||||||
|
|
||||||
def path2magic(path):
|
def path2magic(path):
|
||||||
return re.sub(ur'[/@]', lambda m: {u'/': u'@_', u'@': u'@@'}[m.group(0)], path)
|
return re.sub(ur'[/@]', lambda m: {u'/': u'@_', u'@': u'@@'}[m.group(0)], path)
|
||||||
@ -20,8 +20,14 @@ def should_ignore_file(path_u):
|
|||||||
for suffix in IGNORE_SUFFIXES:
|
for suffix in IGNORE_SUFFIXES:
|
||||||
if path_u.endswith(suffix):
|
if path_u.endswith(suffix):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
while path_u != u"":
|
while path_u != u"":
|
||||||
|
oldpath_u = path_u
|
||||||
path_u, tail_u = os.path.split(path_u)
|
path_u, tail_u = os.path.split(path_u)
|
||||||
if tail_u.startswith(u"."):
|
if tail_u.startswith(u"."):
|
||||||
return True
|
return True
|
||||||
|
if path_u == oldpath_u:
|
||||||
|
return True # the path was absolute
|
||||||
|
_assert(len(path_u) < len(oldpath_u), path_u=path_u, oldpath_u=oldpath_u)
|
||||||
|
|
||||||
return False
|
return False
|
||||||
|
Loading…
x
Reference in New Issue
Block a user