diff --git a/archiver.go b/archiver.go index 4bb5e8b91..e85f8c321 100644 --- a/archiver.go +++ b/archiver.go @@ -487,6 +487,13 @@ func (arch *Archiver) saveTree(t *Tree) (Blob, error) { wg.Wait() + // check for invalid file nodes + for _, node := range *t { + if node.Type == "file" && node.Content == nil { + return Blob{}, fmt.Errorf("node %v has empty content", node.Name) + } + } + blob, err := arch.SaveJSON(backend.Tree, t) if err != nil { return Blob{}, err