dignifiedquire / dignifiedquire/async-tar

Truncated paths when unarchiving

Open
#39 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Rust
Stars
83
Forks
70
PR merge metrics
No merged PRs in 30d

Description

Hello folks!

While unpacking an async-tar generated archive, file paths got truncated when they were over 100 chars. This seemed strange since macOS could unpack the archive correctly, and so did `tar-rs` and other tools.

Full context here: https://discord.com/channels/273534239310479360/1045944060650717204

Here's the header of the archive:
![image](https://user-images.githubusercontent.com/854222/204078321-3598355f-203e-4ee0-aae2-013d77fe27a9.png)

I can see there that the file path (`3rdparty/https/hex.pm/packages/decimal/_build/default/lib/decimal/consolidated/Elixir.Hex.Solver.Constraint.beam`) is complete, but at some point during the read process, it gets lost.

I tried also iterating over the `.entries` and printing out `entry.path`, `entry.path_bytes`, `entry.header.path` and `entry.header.path_bytes`, and they all have the truncated file path: `3rdparty/https/hex.pm/packages/decimal/_build/default/lib/decimal/consolidated/Elixir.Hex.Solver.Con`.

Thanks @rrbrussell for the help debugging this 👋🏽

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.