rubyzip 3.4.0 → 3.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 31692c3a3abbfc979783a52acfad553e88440ef25ef3375e2e7f2355407999ef
4
- data.tar.gz: 16f79be412b8048c8db41fb4a9807b6743adf390f80d2ee73580eb98cf5c7073
3
+ metadata.gz: d47a342ee6f01bc44287aadc88dcb89f5c77b9cb0908a7e4424fe6c04efda6f8
4
+ data.tar.gz: 59946a6e6fa379eb995646b20125584b29dd5024932b73c7e252fb77fa521ba6
5
5
  SHA512:
6
- metadata.gz: 614763745e03176e441f401d739c79bd4df37483d7d3d9fd0821a8119906048f2b3ebbbd9604653e273e7c115e41176b1d3a3ea3f5199d6701cda2f9b30bb777
7
- data.tar.gz: e704da45a03de72a67e108a037aac218bb397f1a625f50ca8ea6dbce842bb1a312de6679662bc4154afbb9229f4f5136f3aac981d651615dbde6c7b9a66dade7
6
+ metadata.gz: 6e2fe52d5643d587ed1cfdc8170ec3186f1dbdde20f8bf69d7cc3701787b262128b53fca1758f96efe10426a63bc11e878d45e70f9a8896e5e3acbe29e00b000
7
+ data.tar.gz: 7baf6d1354b43891fed64ebaf29e060f8afecf4576fd3c8bc5dd73ee72cdfaa4686fddac9bfb6561ccdb5b3eecbcc65c7780e36be2d77eed11b8cff455637ebb
data/Changelog.md CHANGED
@@ -1,3 +1,7 @@
1
+ # 3.4.1 (2026-06-27)
2
+
3
+ - Fixed `DecryptedIo` to only perform integrity once. [#665](https://github.com/rubyzip/rubyzip/pull/665)
4
+
1
5
  # 3.4.0 (2026-06-14)
2
6
 
3
7
  - Prevent entries from being extracted outside specified directory. [#664](https://github.com/rubyzip/rubyzip/issues/664). Thanks to @connorshea for additional reporting on this.
@@ -9,6 +9,9 @@ module Zip
9
9
  @decrypter = decrypter
10
10
  @bytes_remaining = compressed_size
11
11
  @buffer = +''.b
12
+ # Ensures that integrity is only checked once,
13
+ # even if read is called multiple times after the input has finished.
14
+ @integrity_verified = false
12
15
  end
13
16
 
14
17
  def read(maxlen = nil)
@@ -20,7 +23,10 @@ module Zip
20
23
  @buffer << produce_input
21
24
  end
22
25
 
23
- @decrypter.check_integrity!(@io) if input_finished?
26
+ if input_finished? && !@integrity_verified
27
+ @decrypter.check_integrity!(@io)
28
+ @integrity_verified = true
29
+ end
24
30
 
25
31
  @buffer.slice!(0...(maxlen || @buffer.bytesize))
26
32
  end
data/lib/zip/version.rb CHANGED
@@ -2,5 +2,5 @@
2
2
 
3
3
  module Zip
4
4
  # The version of the Rubyzip library.
5
- VERSION = '3.4.0'
5
+ VERSION = '3.4.1'
6
6
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubyzip
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.4.0
4
+ version: 3.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert Haines
@@ -196,9 +196,9 @@ licenses:
196
196
  - BSD-2-Clause
197
197
  metadata:
198
198
  bug_tracker_uri: https://github.com/rubyzip/rubyzip/issues
199
- changelog_uri: https://github.com/rubyzip/rubyzip/blob/v3.4.0/Changelog.md
200
- documentation_uri: https://www.rubydoc.info/gems/rubyzip/3.4.0
201
- source_code_uri: https://github.com/rubyzip/rubyzip/tree/v3.4.0
199
+ changelog_uri: https://github.com/rubyzip/rubyzip/blob/v3.4.1/Changelog.md
200
+ documentation_uri: https://www.rubydoc.info/gems/rubyzip/3.4.1
201
+ source_code_uri: https://github.com/rubyzip/rubyzip/tree/v3.4.1
202
202
  wiki_uri: https://github.com/rubyzip/rubyzip/wiki
203
203
  rubygems_mfa_required: 'true'
204
204
  rdoc_options: []