From c48424c0eb60a9a6b8d95d432f5a6cb14de838fa Mon Sep 17 00:00:00 2001 From: Nick Craig-Wood Date: Sun, 17 Nov 2019 16:43:53 +0000 Subject: [PATCH] mega: skip undecodable FSNodes - #3740 - FIXME vendor patch DO NOT MERGE Also test whether we have a decryption key for shared nodes --- vendor/github.com/t3rm1n4l/go-mega/mega.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/vendor/github.com/t3rm1n4l/go-mega/mega.go b/vendor/github.com/t3rm1n4l/go-mega/mega.go index add7c1234..f0ff49748 100644 --- a/vendor/github.com/t3rm1n4l/go-mega/mega.go +++ b/vendor/github.com/t3rm1n4l/go-mega/mega.go @@ -750,7 +750,10 @@ func (m *Mega) addFSNode(itm FSNode) (*Node, error) { } // Shared file default: - k := m.FS.skmap[args[0]] + k, ok := m.FS.skmap[args[0]] + if !ok { + return nil, errors.New("couldn't find decryption key for shared file") + } b, err := base64urldecode(k) if err != nil { return nil, err @@ -921,7 +924,8 @@ func (m *Mega) getFileSystem() error { for _, itm := range res[0].F { _, err = m.addFSNode(itm) if err != nil { - return err + m.debugf("couldn't decode FSNode %#v: %v ", itm, err) + continue } }