From dc3bbd10d6ff05fc9ced8c67c01b82895d807cec Mon Sep 17 00:00:00 2001 From: Alex Ling Date: Wed, 26 Feb 2020 17:24:16 +0000 Subject: [PATCH] Close zip file after listing entries to prevent leaking --- src/library.cr | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/library.cr b/src/library.cr index f422d33..06805f8 100644 --- a/src/library.cr +++ b/src/library.cr @@ -25,12 +25,14 @@ class Entry @title = File.basename path, File.extname path @encoded_title = URI.encode @title @size = (File.size path).humanize_bytes - @pages = Zip::File.new(path).entries + file = Zip::File.new path + @pages = file.entries .select { |e| ["image/jpeg", "image/png"].includes? \ MIME.from_filename? e.filename } .size + file.close @id = storage.get_id @zip_path, false @cover_url = "/api/page/#{@title_id}/#{@id}/1" @mtime = File.info(@zip_path).modification_time