aboutsummaryrefslogtreecommitdiff
path: root/src/install/dependency.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/install/dependency.zig')
-rw-r--r--src/install/dependency.zig7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/install/dependency.zig b/src/install/dependency.zig
index 9e0e64736..8e862af97 100644
--- a/src/install/dependency.zig
+++ b/src/install/dependency.zig
@@ -539,7 +539,12 @@ pub fn parseWithTag(
.folder => {
if (strings.indexOf(dependency, ":")) |protocol| {
if (strings.eqlComptime(dependency[0..protocol], "file")) {
- return Version{ .literal = sliced.value(), .value = .{ .folder = sliced.sub(dependency[4..]).value() }, .tag = .folder };
+ if (dependency.len <= protocol) {
+ if (log_) |log| log.addErrorFmt(null, logger.Loc.Empty, allocator, "file: dependency missing a path", .{dependency}) catch unreachable;
+ return null;
+ }
+
+ return Version{ .literal = sliced.value(), .value = .{ .folder = sliced.sub(dependency[protocol + 1 ..]).value() }, .tag = .folder };
}
if (log_) |log| log.addErrorFmt(null, logger.Loc.Empty, allocator, "Unsupported protocol {s}", .{dependency}) catch unreachable;