Skip to content

Commit 5077844

Browse files
committed
Avoid potential out-of-bounds array access if targets array is empty
1 parent d19dd15 commit 5077844

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

Sources/PackageGraph/ResolvedProduct.swift

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,11 +66,16 @@ public final class ResolvedProduct {
6666
dependencies: dependencies,
6767
packageAccess: true, // entry point target so treated as a part of the package
6868
testEntryPointPath: testEntryPointPath)
69+
let (defaultLocalization, platforms) = if let firstTarget = targets.first {
70+
(firstTarget.defaultLocalization, firstTarget.platforms)
71+
} else {
72+
(.none, .init(declared: [], derivedXCTestPlatformProvider: .none)) // safe since this is a derived product
73+
}
6974
return ResolvedTarget(
7075
target: swiftTarget,
7176
dependencies: targets.map { .target($0, conditions: []) },
72-
defaultLocalization: targets[0].defaultLocalization,
73-
platforms: targets[0].platforms
77+
defaultLocalization: defaultLocalization,
78+
platforms: platforms
7479
)
7580
}
7681

0 commit comments

Comments
 (0)