From ef7747313d448641976eeb898da36dd2b27605c2 Mon Sep 17 00:00:00 2001 From: Alexander Neumann Date: Fri, 11 May 2018 21:31:13 +0200 Subject: [PATCH] backup: Use absolute paths for allowed devices --- cmd/restic/exclude.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/cmd/restic/exclude.go b/cmd/restic/exclude.go index 5cfb4a535..9d86f9892 100644 --- a/cmd/restic/exclude.go +++ b/cmd/restic/exclude.go @@ -185,7 +185,11 @@ func isDirExcludedByFile(dir, tagFilename, header string) bool { func gatherDevices(items []string) (deviceMap map[string]uint64, err error) { deviceMap = make(map[string]uint64) for _, item := range items { - item = filepath.Clean(item) + item, err = filepath.Abs(filepath.Clean(item)) + if err != nil { + return nil, err + } + fi, err := fs.Lstat(item) if err != nil { return nil, err @@ -225,7 +229,7 @@ func rejectByDevice(samples []string) (RejectFunc, error) { panic(err) } - for dir := item; dir != ""; dir = filepath.Dir(dir) { + for dir := item; dir != filepath.Dir(dir); dir = filepath.Dir(dir) { debug.Log("item %v, test dir %v", item, dir) allowedID, ok := allowed[dir]