authorgravatar for squeek502@hotmail.comRyan Liptak <squeek502@hotmail.com> 2024-06-07 00:24:29-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2024-06-08 15:36:21-04:00
log65cad8ab1398667bdc401cbdfaabfcd9cc8459d8
treeea15fa648a9bfd7e5d6c7371c85600eaa16614ee
parent45b62c4529ee76f0bb6e948626a7fa6a8024e243

Fix index-of-out-bounds when no versions are found in the sdk lib dir

The current code wrongly assumes that versions[0] will always exist after the iterateAndFilterByVersion call.

1 files changed, 1 insertions(+), 0 deletions(-)

lib/std/zig/WindowsSdk.zig+1
...@@ -476,6 +476,7 @@ pub const Installation = struct {...@@ -476,6 +476,7 @@ pub const Installation = struct {
476476
477 var iterator = sdk_lib_dir.iterate();477 var iterator = sdk_lib_dir.iterate();
478 const versions = try iterateAndFilterByVersion(&iterator, allocator, prefix);478 const versions = try iterateAndFilterByVersion(&iterator, allocator, prefix);
479 if (versions.len == 0) return error.InstallationNotFound;
479 defer {480 defer {
480 for (versions[1..]) |version| allocator.free(version);481 for (versions[1..]) |version| allocator.free(version);
481 allocator.free(versions);482 allocator.free(versions);