mirror of https://github.com/borgbackup/borg.git
xattr: ignore empty names returned by llistxattr(2) et al
This commit is contained in:
parent
60d33b838f
commit
85e79f96a1
|
@ -205,7 +205,7 @@ if sys.platform.startswith('linux'): # pragma: linux only
|
|||
|
||||
n, buf = _listxattr_inner(func, path)
|
||||
return [os.fsdecode(name) for name in split_string0(buf[:n])
|
||||
if not name.startswith(b'system.posix_acl_')]
|
||||
if name and not name.startswith(b'system.posix_acl_')]
|
||||
|
||||
def getxattr(path, name, *, follow_symlinks=True):
|
||||
def func(path, name, buf, size):
|
||||
|
@ -261,7 +261,7 @@ elif sys.platform == 'darwin': # pragma: darwin only
|
|||
return libc.listxattr(path, buf, size, XATTR_NOFOLLOW)
|
||||
|
||||
n, buf = _listxattr_inner(func, path)
|
||||
return [os.fsdecode(name) for name in split_string0(buf[:n])]
|
||||
return [os.fsdecode(name) for name in split_string0(buf[:n]) if name]
|
||||
|
||||
def getxattr(path, name, *, follow_symlinks=True):
|
||||
def func(path, name, buf, size):
|
||||
|
@ -320,7 +320,7 @@ elif sys.platform.startswith('freebsd'): # pragma: freebsd only
|
|||
return libc.extattr_list_link(path, ns, buf, size)
|
||||
|
||||
n, buf = _listxattr_inner(func, path)
|
||||
return [os.fsdecode(name) for name in split_lstring(buf[:n])]
|
||||
return [os.fsdecode(name) for name in split_lstring(buf[:n]) if name]
|
||||
|
||||
def getxattr(path, name, *, follow_symlinks=True):
|
||||
def func(path, name, buf, size):
|
||||
|
|
|
@ -126,6 +126,13 @@ The best check that everything is ok is to run a dry-run extraction::
|
|||
Changelog
|
||||
=========
|
||||
|
||||
Version 1.0.10rc1 (not released yet)
|
||||
------------------------------------
|
||||
|
||||
Bug fixes:
|
||||
|
||||
- Avoid triggering an ObjectiveFS bug in xattr retrieval, #1992
|
||||
|
||||
Version 1.0.9 (2016-12-20)
|
||||
--------------------------
|
||||
|
||||
|
|
Loading…
Reference in New Issue