diff --git a/src/borg/fuse.py b/src/borg/fuse.py index 47b8568b1..8e3a8e4da 100644 --- a/src/borg/fuse.py +++ b/src/borg/fuse.py @@ -43,7 +43,10 @@ class ItemCache: return pos + self.offset def get(self, inode): - self.fd.seek(inode - self.offset, io.SEEK_SET) + offset = inode - self.offset + if offset < 0: + raise ValueError('ItemCache.get() called with an invalid inode number') + self.fd.seek(offset, io.SEEK_SET) item = next(msgpack.Unpacker(self.fd, read_size=1024)) return Item(internal_dict=item)