summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--rdiff-backup/CHANGELOG3
-rw-r--r--rdiff-backup/rdiff_backup/rpath.py5
2 files changed, 7 insertions, 1 deletions
diff --git a/rdiff-backup/CHANGELOG b/rdiff-backup/CHANGELOG
index 7f60689..975a975 100644
--- a/rdiff-backup/CHANGELOG
+++ b/rdiff-backup/CHANGELOG
@@ -1,6 +1,9 @@
New in v1.1.17 (????/??/??)
---------------------------
+Properly handle uid/gid comparison when the metadata about a destination
+file has become corrupt. Closes Debian bug #410586. (Andrew Ferguson)
+
Properly handle hardlink comparison when the metadata about a destination
hardlink has become corrupt. Closes Debian bug #486653. (Andrew Ferguson)
diff --git a/rdiff-backup/rdiff_backup/rpath.py b/rdiff-backup/rdiff_backup/rpath.py
index 8871f47..2ee7043 100644
--- a/rdiff-backup/rdiff_backup/rpath.py
+++ b/rdiff-backup/rdiff_backup/rpath.py
@@ -412,7 +412,10 @@ class RORPath:
if self.lstat() and not self.issym() and Globals.change_ownership:
# Now compare ownership. Symlinks don't have ownership
- if user_group.map_rpath(self) != other.getuidgid(): return 0
+ try:
+ if user_group.map_rpath(self) != other.getuidgid(): return 0
+ except KeyError:
+ return 0 # uid/gid might be missing if metadata file is corrupt
return 1