cmd/vulnreport: fix bug in arg checking and return errors instead of logging

A previous change mistakenly checked for 3 args instead of 2, and
logged errors from setupCreate instead of returning them.

Change-Id: Ibd385822debbe5e24bfcf1b950c3ba1dbab74ef4
Reviewed-on: https://go-review.googlesource.com/c/vulndb/+/432776
Reviewed-by: Damien Neil <dneil@google.com>
Reviewed-by: Jonathan Amsterdam <jba@google.com>
diff --git a/cmd/vulnreport/main.go b/cmd/vulnreport/main.go
index fa42fa1..70d5087 100644
--- a/cmd/vulnreport/main.go
+++ b/cmd/vulnreport/main.go
@@ -62,9 +62,9 @@
 	}
 
 	flag.Parse()
-	if flag.NArg() < 3 {
+	if flag.NArg() < 2 {
 		flag.Usage()
-		os.Exit(1)
+		log.Fatal("not enough arguments")
 	}
 
 	cmd := flag.Arg(0)
@@ -236,16 +236,15 @@
 
 func setupCreate(args []string) ([]int, *createCfg, error) {
 	if *githubToken == "" {
-		flag.Usage()
-		log.Fatalf("githubToken must be provided")
+		return nil, nil, fmt.Errorf("githubToken must be provided")
 	}
 	existingByIssue, existingByFile, err := existingReports()
 	if err != nil {
-		log.Fatal(err)
+		return nil, nil, err
 	}
 	githubIDs, err := parseArgsToGithubIDs(args, existingByIssue)
 	if err != nil {
-		log.Fatal(err)
+		return nil, nil, err
 	}
 	if len(githubIDs) > 1 {
 		// Maybe we should automatically maintain a local clone of the