vulncheck,vulndb/internal/audit: fix skipping load of local packages

If a module had empty Dir, we would consider it a valid local dir. This
resulted in skipping loading of such modules, which is incorrect.

Change-Id: I71e965b521387d184bf790398ddacf05ef10ab65
Reviewed-on: https://go-review.googlesource.com/c/exp/+/370934
Run-TryBot: Zvonimir Pavlinovic <zpavlinovic@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Roland Shoemaker <roland@golang.org>
Trust: Zvonimir Pavlinovic <zpavlinovic@google.com>
diff --git a/vulncheck/fetch.go b/vulncheck/fetch.go
index fc1e1a5..fe9781e 100644
--- a/vulncheck/fetch.go
+++ b/vulncheck/fetch.go
@@ -99,7 +99,7 @@
 	if mod.Replace != nil {
 		modDir = mod.Replace.Dir
 	}
-	return !strings.HasPrefix(modDir, modCacheDirectory())
+	return modDir != "" && !strings.HasPrefix(modDir, modCacheDirectory())
 }
 func modCacheDirectory() string {
 	var modCacheDir string
diff --git a/vulndb/internal/audit/vulnerability.go b/vulndb/internal/audit/vulnerability.go
index 83778e2..ea1125c 100644
--- a/vulndb/internal/audit/vulnerability.go
+++ b/vulndb/internal/audit/vulnerability.go
@@ -49,7 +49,7 @@
 	if mod.Replace != nil {
 		modDir = mod.Replace.Dir
 	}
-	return !strings.HasPrefix(modDir, modCacheDirectory())
+	return modDir != "" && !strings.HasPrefix(modDir, modCacheDirectory())
 }
 
 func modCacheDirectory() string {