exifr 1.3.7 → 1.3.8

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.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/lib/exifr/tiff.rb +12 -8
  3. data/tests/tiff_test.rb +6 -1
  4. metadata +4 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 875a312186a0f46c69201e260de535974566c112d4198f91c603c5a57112910d
4
- data.tar.gz: 5735851e875b2a76f9bb73fb6a4556548fa1ae18ad8d0a0f5ed970648769054c
3
+ metadata.gz: 19c3f1b08e84425d9d0b8a6e6ee11bd2e25190a49ce34d42ea99800f5030fe20
4
+ data.tar.gz: 9a834f93b1a02e87bf401b09a033b25fb8b05625b0a60a8795e9ee65e1ea064c
5
5
  SHA512:
6
- metadata.gz: b7b828732884dddb926221ae91ab87e5bee58fdd39a31b26beb1b794db1764661864d2b67844e2ca2e8b5d6b728464005602c927dd0d7fb652f7f57d5a87040c
7
- data.tar.gz: 828884d3ff08fa3b1855a233fe31868516c31b9cf6f2487dd0db4274e2fb28e643c02b5df3ae0b247033f7cc2afc45e46aef6826ec1ba14fe294a644a9a8f549
6
+ metadata.gz: b4fc267041e9090a85eb5ca2a0bfc2fae3d36a72aa45ab716209e6e5e896a775957b65251587e16e7c4e3f0e3c2e491805ce226c68b9b189a8b5bdaf506ebc15
7
+ data.tar.gz: f39334aa7142a3b918edf30fa3bd6424ddc50c1906beb2c9d5bf384bc939fba35b410d2ee801410769929a29895e75b223d443af01d7acf7752fbf96adad0fa6
@@ -487,17 +487,19 @@ module EXIFR
487
487
 
488
488
  pos = offset || @data.readlong(4)
489
489
  num = @data.readshort(pos)
490
- pos += 2
491
490
 
492
- num.times do
493
- add_field(Field.new(@data, pos))
494
- pos += 12
495
- end
491
+ if pos && num
492
+ pos += 2
493
+
494
+ num.times do
495
+ add_field(Field.new(@data, pos))
496
+ pos += 12
497
+ end
496
498
 
497
- @offset_next = @data.readlong(pos)
499
+ @offset_next = @data.readlong(pos)
500
+ end
498
501
  rescue => ex
499
502
  EXIFR.logger.warn("Badly formed IFD: #{ex}")
500
- @offset_next = 0
501
503
  end
502
504
 
503
505
  def method_missing(method, *args)
@@ -525,7 +527,7 @@ module EXIFR
525
527
  end
526
528
 
527
529
  def next?
528
- @offset_next != 0 && @offset_next < @data.size
530
+ @offset_next && @offset_next > 0 && @offset_next < @data.size
529
531
  end
530
532
 
531
533
  def next
@@ -600,6 +602,8 @@ module EXIFR
600
602
  end
601
603
  rationals
602
604
  end
605
+ else
606
+ return
603
607
  end
604
608
 
605
609
  if len && pack && @type != 7
@@ -55,7 +55,7 @@ class TIFFTest < TestCase
55
55
  end
56
56
 
57
57
  def test_dates
58
- (all_test_tiffs - [f('weird_date.exif'), f('plain.tif'), f('endless-loop.exif')]).each do |fname|
58
+ (all_test_tiffs - [f('weird_date.exif'), f('plain.tif'), f('endless-loop.exif'), f('truncated.exif')]).each do |fname|
59
59
  assert_kind_of Time, TIFF.new(fname).date_time
60
60
  end
61
61
  assert_nil TIFF.new(f('weird_date.exif')).date_time
@@ -184,6 +184,11 @@ class TIFFTest < TestCase
184
184
  assert true
185
185
  end
186
186
 
187
+ def test_should_read_truncated
188
+ TIFF.new(f('truncated.exif'))
189
+ assert true
190
+ end
191
+
187
192
  def test_user_comment
188
193
  assert_equal("Manassas Battlefield", TIFF.new(f('user-comment.exif')).user_comment)
189
194
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: exifr
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.7
4
+ version: 1.3.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - R.W. van 't Veer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-09-11 00:00:00.000000000 Z
11
+ date: 2020-09-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: test-unit
@@ -102,7 +102,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
102
102
  - !ruby/object:Gem::Version
103
103
  version: '0'
104
104
  requirements: []
105
- rubygems_version: 3.1.4
105
+ rubyforge_project:
106
+ rubygems_version: 2.7.6
106
107
  signing_key:
107
108
  specification_version: 4
108
109
  summary: Read EXIF from JPEG and TIFF images