From f1cf7bc322281e6511adbe30cbe36799135cc3b2 Mon Sep 17 00:00:00 2001 From: Marian Beermann Date: Thu, 8 Sep 2016 16:43:48 +0200 Subject: [PATCH] process_symlink: fix missing backup_io() Fixes a chmod/chown/chgrp/unlink/rename/... crash race between getting dirents and dispatching to process_symlink. --- borg/archive.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/borg/archive.py b/borg/archive.py index a3a133171..dfe870160 100644 --- a/borg/archive.py +++ b/borg/archive.py @@ -610,7 +610,8 @@ Number of files: {0.stats.nfiles}'''.format( return 'b' # block device def process_symlink(self, path, st): - source = os.readlink(path) + with backup_io(): + source = os.readlink(path) item = {b'path': make_path_safe(path), b'source': source} item.update(self.stat_attrs(st, path)) self.add_item(item)