diff options
author | Lain Soykaf <lain@lain.com> | 2025-02-27 17:06:15 +0400 |
---|---|---|
committer | Lain Soykaf <lain@lain.com> | 2025-02-27 17:06:15 +0400 |
commit | 2fcb90f3697d3c15e1aebab89b7eaaa69a315c0b (patch) | |
tree | de4819eda60637e0d51e02a609b0ac471f628bfe /lib/mix/tasks | |
parent | b89070a6ad2704f4bc061c22e099f662655c3e6f (diff) | |
download | pleroma-2fcb90f3697d3c15e1aebab89b7eaaa69a315c0b.tar.gz pleroma-2fcb90f3697d3c15e1aebab89b7eaaa69a315c0b.zip |
Emoji, Pack, Backup, Frontend: Use SafeZip
Diffstat (limited to 'lib/mix/tasks')
-rw-r--r-- | lib/mix/tasks/pleroma/emoji.ex | 15 |
1 files changed, 3 insertions, 12 deletions
diff --git a/lib/mix/tasks/pleroma/emoji.ex b/lib/mix/tasks/pleroma/emoji.ex index 8b9c921c8..b656f161f 100644 --- a/lib/mix/tasks/pleroma/emoji.ex +++ b/lib/mix/tasks/pleroma/emoji.ex @@ -93,6 +93,7 @@ defmodule Mix.Tasks.Pleroma.Emoji do ) files = fetch_and_decode!(files_loc) + files_to_unzip = for({_, f} <- files, do: f) IO.puts(IO.ANSI.format(["Unpacking ", :bright, pack_name])) @@ -103,17 +104,7 @@ defmodule Mix.Tasks.Pleroma.Emoji do pack_name ]) - files_to_unzip = - Enum.map( - files, - fn {_, f} -> to_charlist(f) end - ) - - {:ok, _} = - :zip.unzip(binary_archive, - cwd: String.to_charlist(pack_path), - file_list: files_to_unzip - ) + {:ok, _} = Pleroma.SafeZip.unzip_data(binary_archive, pack_path, files_to_unzip) IO.puts(IO.ANSI.format(["Writing pack.json for ", :bright, pack_name])) @@ -201,7 +192,7 @@ defmodule Mix.Tasks.Pleroma.Emoji do tmp_pack_dir = Path.join(System.tmp_dir!(), "emoji-pack-#{name}") - {:ok, _} = :zip.unzip(binary_archive, cwd: String.to_charlist(tmp_pack_dir)) + {:ok, _} = Pleroma.SafeZip.unzip_data(binary_archive, tmp_pack_dir) emoji_map = Pleroma.Emoji.Loader.make_shortcode_to_file_map(tmp_pack_dir, exts) |