Skip to content

Regression in Erlang OTP 27.1 #128

@fishtreesugar

Description

@fishtreesugar

In the pull request at erlang/otp#8537, specifically in commit erlang/otp@8d537f5, the CWD is rebuilt using filename:join/2. However, dest_path was not converted from binary to charlist:

xlsxir/lib/xlsxir/unzip.ex

Lines 153 to 154 in 4dbebf2

defp extract_from_zip(path, file_list, :memory), do: :zip.extract(path, [{:file_list, file_list}, :memory])
defp extract_from_zip(path, file_list, {:file, dest_path}), do: :zip.extract(path, [{:file_list, file_list}, {:cwd, dest_path}])

As a result, filename:join/2 returns a binary filename that fails to concatenate with TrailingSlash, which is a charlist: https://github.com/erlang/otp/blob/94d3cd6/lib/stdlib/src/zip.erl#L2330

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions