diff options
author | 2021-12-19 14:48:12 -0800 | |
---|---|---|
committer | 2021-12-19 14:48:12 -0800 | |
commit | 2e69f15c20bb6703cd5b50db60fb3b1f6090c83f (patch) | |
tree | 5ca46a65bcd76fb915ca416042a1a3064fce3287 /src/install/dependency.zig | |
parent | 0c7b35d0aba2e0bde23946063bd15817a7ca9d4d (diff) | |
download | bun-2e69f15c20bb6703cd5b50db60fb3b1f6090c83f.tar.gz bun-2e69f15c20bb6703cd5b50db60fb3b1f6090c83f.tar.zst bun-2e69f15c20bb6703cd5b50db60fb3b1f6090c83f.zip |
Relative paths outside project
Diffstat (limited to 'src/install/dependency.zig')
-rw-r--r-- | src/install/dependency.zig | 7 |
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; |