all: fix some static analysis warnings

Fix warnings produced by golangci-lint.

Update #977
diff --git a/dashboard/app/jobs.go b/dashboard/app/jobs.go
index 9893ea8..31ba04f 100644
--- a/dashboard/app/jobs.go
+++ b/dashboard/app/jobs.go
@@ -174,8 +174,6 @@
 		return fmt.Sprintf("%q does not look like a valid git repo address.", repo)
 	case !vcs.CheckBranch(branch) && !vcs.CheckCommitHash(branch):
 		return fmt.Sprintf("%q does not look like a valid git branch or commit.", branch)
-	case crash.ReproC == 0 && crash.ReproSyz == 0:
-		return "This crash does not have a reproducer. I cannot test it."
 	case bug.Status == BugStatusFixed:
 		return "This bug is already marked as fixed. No point in testing."
 	case bug.Status == BugStatusInvalid:
diff --git a/pkg/csource/options.go b/pkg/csource/options.go
index 0a95396..6109445 100644
--- a/pkg/csource/options.go
+++ b/pkg/csource/options.go
@@ -56,45 +56,45 @@
 	}
 	if !opts.Threaded && opts.Collide {
 		// Collide requires threaded.
-		return errors.New("Collide without Threaded")
+		return errors.New("option Collide without Threaded")
 	}
 	if !opts.Repeat {
 		if opts.Procs > 1 {
 			// This does not affect generated code.
-			return errors.New("Procs>1 without Repeat")
+			return errors.New("option Procs>1 without Repeat")
 		}
 		if opts.EnableNetReset {
-			return errors.New("EnableNetReset without Repeat")
+			return errors.New("option EnableNetReset without Repeat")
 		}
 		if opts.RepeatTimes > 1 {
-			return errors.New("RepeatTimes without Repeat")
+			return errors.New("option RepeatTimes without Repeat")
 		}
 	}
 	if opts.Sandbox == "" {
 		if opts.EnableTun {
-			return errors.New("EnableTun without sandbox")
+			return errors.New("option EnableTun without sandbox")
 		}
 		if opts.EnableNetDev {
-			return errors.New("EnableNetDev without sandbox")
+			return errors.New("option EnableNetDev without sandbox")
 		}
 		if opts.EnableCgroups {
-			return errors.New("EnableCgroups without sandbox")
+			return errors.New("option EnableCgroups without sandbox")
 		}
 		if opts.EnableBinfmtMisc {
-			return errors.New("EnableBinfmtMisc without sandbox")
+			return errors.New("option EnableBinfmtMisc without sandbox")
 		}
 	}
 	if opts.Sandbox == sandboxNamespace && !opts.UseTmpDir {
 		// This is borken and never worked.
 		// This tries to create syz-tmp dir in cwd,
 		// which will fail if procs>1 and on second run of the program.
-		return errors.New("Sandbox=namespace without UseTmpDir")
+		return errors.New("option Sandbox=namespace without UseTmpDir")
 	}
 	if opts.EnableNetReset && (opts.Sandbox == "" || opts.Sandbox == sandboxSetuid) {
-		return errors.New("EnableNetReset without sandbox")
+		return errors.New("option EnableNetReset without sandbox")
 	}
 	if opts.EnableCgroups && !opts.UseTmpDir {
-		return errors.New("EnableCgroups without UseTmpDir")
+		return errors.New("option EnableCgroups without UseTmpDir")
 	}
 	return opts.checkLinuxOnly(OS)
 }
@@ -104,19 +104,19 @@
 		return nil
 	}
 	if opts.EnableTun && !(OS == openbsd || OS == freebsd) {
-		return fmt.Errorf("EnableTun is not supported on %v", OS)
+		return fmt.Errorf("option EnableTun is not supported on %v", OS)
 	}
 	if opts.EnableNetDev {
-		return fmt.Errorf("EnableNetDev is not supported on %v", OS)
+		return fmt.Errorf("option EnableNetDev is not supported on %v", OS)
 	}
 	if opts.EnableNetReset {
-		return fmt.Errorf("EnableNetReset is not supported on %v", OS)
+		return fmt.Errorf("option EnableNetReset is not supported on %v", OS)
 	}
 	if opts.EnableCgroups {
-		return fmt.Errorf("EnableCgroups is not supported on %v", OS)
+		return fmt.Errorf("option EnableCgroups is not supported on %v", OS)
 	}
 	if opts.EnableBinfmtMisc {
-		return fmt.Errorf("EnableBinfmtMisc is not supported on %v", OS)
+		return fmt.Errorf("option EnableBinfmtMisc is not supported on %v", OS)
 	}
 	if opts.EnableCloseFds {
 		return fmt.Errorf("EnableCloseFds is not supported on %v", OS)
@@ -124,10 +124,10 @@
 	if opts.Sandbox == sandboxNamespace ||
 		(opts.Sandbox == sandboxSetuid && !(OS == openbsd || OS == freebsd)) ||
 		opts.Sandbox == sandboxAndroidUntrustedApp {
-		return fmt.Errorf("Sandbox=%v is not supported on %v", opts.Sandbox, OS)
+		return fmt.Errorf("option Sandbox=%v is not supported on %v", opts.Sandbox, OS)
 	}
 	if opts.Fault {
-		return fmt.Errorf("Fault is not supported on %v", OS)
+		return fmt.Errorf("option Fault is not supported on %v", OS)
 	}
 	return nil
 }
diff --git a/pkg/ifuzz/gen/gen.go b/pkg/ifuzz/gen/gen.go
index cb79770..f31e5bb 100644
--- a/pkg/ifuzz/gen/gen.go
+++ b/pkg/ifuzz/gen/gen.go
@@ -430,7 +430,6 @@
 			v == "NELEM_QUARTERMEM()",
 			v == "NELEM_EIGHTHMEM()",
 			v == "NELEM_HALFMEM()",
-			v == "NELEM_QUARTERMEM()",
 			v == "NELEM_MEM128()",
 			v == "NELEM_SCALAR()",
 			v == "NELEM_TUPLE1()",
diff --git a/prog/decodeexec.go b/prog/decodeexec.go
index c575974..57f08d0 100644
--- a/prog/decodeexec.go
+++ b/prog/decodeexec.go
@@ -110,6 +110,9 @@
 				Addr:  dec.read(),
 				Size:  dec.read(),
 			})
+		case execInstrEOF:
+			dec.commitCall()
+			return
 		default:
 			dec.commitCall()
 			if instr >= uint64(len(dec.target.Syscalls)) {
@@ -127,9 +130,6 @@
 					return
 				}
 			}
-		case execInstrEOF:
-			dec.commitCall()
-			return
 		}
 	}
 }
diff --git a/prog/test/fuzz_test.go b/prog/test/fuzz_test.go
index 22c4066..b3a1237 100644
--- a/prog/test/fuzz_test.go
+++ b/prog/test/fuzz_test.go
@@ -23,7 +23,7 @@
 mutate8()
 `,
 	} {
-		t.Logf("test #%v: %q", i, string(data))
+		t.Logf("test #%v: %q", i, data)
 		FuzzDeserialize([]byte(data))
 		FuzzParseLog([]byte(data))
 	}
diff --git a/vm/vmimpl/merger.go b/vm/vmimpl/merger.go
index 2de32e5..a617294 100644
--- a/vm/vmimpl/merger.go
+++ b/vm/vmimpl/merger.go
@@ -73,7 +73,7 @@
 					}
 					select {
 					case merger.Output <- append([]byte{}, out...):
-						r := copy(pending[:], pending[pos+1:])
+						r := copy(pending, pending[pos+1:])
 						pending = pending[:r]
 					default:
 					}