[engine] Fix segfault
Under some conditions, if an error occurred during `copyTree` then `err`
would be set and `d` would be nil, leading to the error turning into a
segfault.
Change-Id: I52194d50bc47cd896f029ea4dce782214db54e95
Reviewed-on: https://fuchsia-review.googlesource.com/c/shac-project/shac/+/912733
Fuchsia-Auto-Submit: Oliver Newman <olivernewman@google.com>
Reviewed-by: Marc-Antoine Ruel <maruel@google.com>
Commit-Queue: Marc-Antoine Ruel <maruel@google.com>
diff --git a/internal/engine/pkg_test.go b/internal/engine/pkg_test.go
index ae91fa2..08a115d 100644
--- a/internal/engine/pkg_test.go
+++ b/internal/engine/pkg_test.go
@@ -88,7 +88,7 @@
func copyTree(t *testing.T, dstDir, srcDir string, renamings map[string]string) {
err := filepath.WalkDir(srcDir, func(path string, d fs.DirEntry, err error) error {
- if d.IsDir() || err != nil {
+ if err != nil || d.IsDir() {
return err
}
rel, err := filepath.Rel(srcDir, path)