x/tools/refactor/rename: fix nil pointer dereference.

Fix a nil pointer dereference by checking the error returned by
conf.Load.

Bug was reported on Reddit:
https://www.reddit.com/r/golang/comments/5vo0fb/

Change-Id: I2ad6f03922b772f03e282a0af6eea24f8de9cef8
Reviewed-on: https://go-review.googlesource.com/37432
Reviewed-by: Alan Donovan <adonovan@google.com>
diff --git a/refactor/rename/mvpkg_test.go b/refactor/rename/mvpkg_test.go
index 674fe6c..7f5b135 100644
--- a/refactor/rename/mvpkg_test.go
+++ b/refactor/rename/mvpkg_test.go
@@ -72,6 +72,14 @@
 				"support move destinations whose base names are not valid " +
 				"go identifiers",
 		},
+		{
+			ctxt: fakeContext(map[string][]string{
+				"foo": {``},
+				"bar": {`package bar`},
+			}),
+			from: "foo", to: "bar",
+			want: `no initial packages were loaded`,
+		},
 	}
 
 	for _, test := range tests {
diff --git a/refactor/rename/rename.go b/refactor/rename/rename.go
index 127647b..6d84024 100644
--- a/refactor/rename/rename.go
+++ b/refactor/rename/rename.go
@@ -392,6 +392,9 @@
 	// It would be nice if the loader API permitted "AllowErrors: soft".
 	conf.AllowErrors = true
 	prog, err := conf.Load()
+	if err != nil {
+		return nil, err
+	}
 	var errpkgs []string
 	// Report hard errors in indirectly imported packages.
 	for _, info := range prog.AllPackages {
@@ -408,7 +411,7 @@
 		return nil, fmt.Errorf("couldn't load packages due to errors: %s%s",
 			strings.Join(errpkgs, ", "), more)
 	}
-	return prog, err
+	return prog, nil
 }
 
 func containsHardErrors(errors []error) bool {