aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <jarred@jarredsumner.com> 2022-02-10 16:41:33 -0800
committerGravatar Jarred Sumner <jarred@jarredsumner.com> 2022-02-10 16:41:33 -0800
commit90189866008a6dd8726ef94d4d795c942bf01339 (patch)
tree7037d9680c7286ee5131240159902005467b2bc7
parent25f15688f060fd7d3cbf9f47975c727c2d5eb5fb (diff)
downloadbun-90189866008a6dd8726ef94d4d795c942bf01339.tar.gz
bun-90189866008a6dd8726ef94d4d795c942bf01339.tar.zst
bun-90189866008a6dd8726ef94d4d795c942bf01339.zip
[bun install] Fix bug when packages with long names
-rw-r--r--src/install/extract_tarball.zig4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/install/extract_tarball.zig b/src/install/extract_tarball.zig
index 22b4d7592..e5209f3df 100644
--- a/src/install/extract_tarball.zig
+++ b/src/install/extract_tarball.zig
@@ -146,7 +146,7 @@ threadlocal var abs_buf2: [std.fs.MAX_PATH_BYTES]u8 = undefined;
fn extract(this: *const ExtractTarball, tgz_bytes: []const u8) !string {
var tmpdir = this.temp_dir;
- var tmpname_buf: [64]u8 = undefined;
+ var tmpname_buf: [256]u8 = undefined;
const name = this.name.slice();
var basename = this.name.slice();
@@ -156,7 +156,7 @@ fn extract(this: *const ExtractTarball, tgz_bytes: []const u8) !string {
}
}
- var tmpname = try FileSystem.instance.tmpname(basename, &tmpname_buf, tgz_bytes.len);
+ var tmpname = try FileSystem.instance.tmpname(basename[0..@minimum(basename.len, 32)], &tmpname_buf, tgz_bytes.len);
{
var extract_destination = tmpdir.makeOpenPath(std.mem.span(tmpname), .{ .iterate = true }) catch |err| {
Output.panic("err: {s} when create temporary directory named {s} (while extracting {s})", .{ @errorName(err), tmpname, name });