diff --git a/syft/internal/fileresolver/path_skipper.go b/syft/internal/fileresolver/path_skipper.go index 792099cff..a9d2929c7 100644 --- a/syft/internal/fileresolver/path_skipper.go +++ b/syft/internal/fileresolver/path_skipper.go @@ -143,7 +143,11 @@ func containsPath(p1, p2 string) bool { if p1Clean == p2Clean { return true } - return strings.HasPrefix(p1Clean, p2Clean+"/") + if !strings.HasPrefix(p1Clean, p2Clean) { + return false + } + // This is done to avoid allocation of a new string + return len(p1Clean) > len(p2Clean) && p1Clean[len(p2Clean)] == '/' } func simpleClean(p string) string {