cmd/*: use yaml.UnmarshalStrict

Avoids hard to spot typos.

Change-Id: I0ec2f93ede22217beb4be6b9b6f881e7f8e9e6a1
Reviewed-on: https://go-review.googlesource.com/c/vulndb/+/335689
Reviewed-by: Filippo Valsorda <filippo@golang.org>
Trust: Roland Shoemaker <roland@golang.org>
Run-TryBot: Roland Shoemaker <roland@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>
diff --git a/cmd/gendb/main.go b/cmd/gendb/main.go
index 9bb283f..98ab2a5 100644
--- a/cmd/gendb/main.go
+++ b/cmd/gendb/main.go
@@ -60,7 +60,7 @@
 			fail(fmt.Sprintf("can't read %q: %s", f.Name(), err))
 		}
 		var vuln report.Report
-		err = yaml.Unmarshal(content, &vuln)
+		err = yaml.UnmarshalStrict(content, &vuln)
 		if err != nil {
 			fail(fmt.Sprintf("unable to unmarshal %q: %s", f.Name(), err))
 		}
diff --git a/cmd/genhtml/main.go b/cmd/genhtml/main.go
index c078b3b..bad0bd3 100644
--- a/cmd/genhtml/main.go
+++ b/cmd/genhtml/main.go
@@ -194,7 +194,7 @@
 			fail(fmt.Sprintf("can't read %q: %s", f.Name(), err))
 		}
 		var vuln report.Report
-		err = yaml.Unmarshal(content, &vuln)
+		err = yaml.UnmarshalStrict(content, &vuln)
 		if err != nil {
 			fail(fmt.Sprintf("unable to unmarshal %q: %s", f.Name(), err))
 		}
diff --git a/cmd/linter/main.go b/cmd/linter/main.go
index 15130bc..6312b75 100644
--- a/cmd/linter/main.go
+++ b/cmd/linter/main.go
@@ -26,7 +26,7 @@
 	}
 
 	var vuln report.Report
-	err = yaml.Unmarshal(content, &vuln)
+	err = yaml.UnmarshalStrict(content, &vuln)
 	if err != nil {
 		fmt.Fprintf(os.Stderr, "unable to parse %q: %s\n", os.Args[1], err)
 		os.Exit(1)
diff --git a/cmd/report2cve/main.go b/cmd/report2cve/main.go
index d531352..b9c5ec2 100644
--- a/cmd/report2cve/main.go
+++ b/cmd/report2cve/main.go
@@ -225,7 +225,7 @@
 	}
 
 	var r report.Report
-	if err = yaml.Unmarshal(b, &r); err != nil {
+	if err = yaml.UnmarshalStrict(b, &r); err != nil {
 		fmt.Fprintf(os.Stderr, "failed to parse %q: %s\n", reportPath, err)
 		os.Exit(1)
 	}