diff options
author | exiftool <exiftool@users.sourceforge.net> | 2024-01-31 10:17:48 -0500 |
---|---|---|
committer | exiftool <exiftool@users.sourceforge.net> | 2024-01-31 10:17:48 -0500 |
commit | 212f02cf22b9484674752181cad3b73089ce9694 (patch) | |
tree | 80fcdad2a053d486dba19acd92ec7fb2ccae190a /lib | |
parent | a5358f1189d3cf78e9854b54f6ecf05387c3dd3b (diff) |
Update to 12.76
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Image/ExifTool.pm | 2 | ||||
-rw-r--r-- | lib/Image/ExifTool/HtmlDump.pm | 8 | ||||
-rw-r--r-- | lib/Image/ExifTool/WriteExif.pl | 2 |
3 files changed, 7 insertions, 5 deletions
diff --git a/lib/Image/ExifTool.pm b/lib/Image/ExifTool.pm index 10a5153b..b5349398 100644 --- a/lib/Image/ExifTool.pm +++ b/lib/Image/ExifTool.pm @@ -29,7 +29,7 @@ use vars qw($VERSION $RELEASE @ISA @EXPORT_OK %EXPORT_TAGS $AUTOLOAD @fileTypes %jpegMarker %specialTags %fileTypeLookup $testLen $exeDir %static_vars); -$VERSION = '12.75'; +$VERSION = '12.76'; $RELEASE = ''; @ISA = qw(Exporter); %EXPORT_TAGS = ( diff --git a/lib/Image/ExifTool/HtmlDump.pm b/lib/Image/ExifTool/HtmlDump.pm index cbc3cb43..ab03aaea 100644 --- a/lib/Image/ExifTool/HtmlDump.pm +++ b/lib/Image/ExifTool/HtmlDump.pm @@ -13,7 +13,7 @@ use vars qw($VERSION); use Image::ExifTool; # only for FinishTiffDump() use Image::ExifTool::HTML qw(EscapeHTML); -$VERSION = '1.40'; +$VERSION = '1.41'; sub DumpTable($$$;$$$$$$); sub Open($$$;@); @@ -314,6 +314,8 @@ sub Print($$;$$$$$) $title = 'HtmlDump' unless $title; $level or $level = 0; my $tell = $raf->Tell(); + $raf->Seek(0,2) or $$self{ERROR} = 'Seek error', return -1; + my $fileLen = $raf->Tell(); my $pos = 0; my $dataEnd = $dataPos + ($dataPt ? length($$dataPt) : 0); # initialize member variables @@ -352,6 +354,7 @@ sub Print($$;$$$$$) } else { last; } + $start = $fileLen if $start > $fileLen; # handle case of bad start offset my $len = $start - $pos; if ($len > 0 and not $wasUnused) { # we have a unused bytes before this data block @@ -432,8 +435,7 @@ sub Print($$;$$$$$) { $err = $msg; # reset $len to the actual length of available data - $raf->Seek(0, 2); - $len = $raf->Tell() - $start; + $len = $fileLen - $start; $tip .= "<br>Error: Only $len bytes available!" if $tip; next; } diff --git a/lib/Image/ExifTool/WriteExif.pl b/lib/Image/ExifTool/WriteExif.pl index 607408a4..cf437407 100644 --- a/lib/Image/ExifTool/WriteExif.pl +++ b/lib/Image/ExifTool/WriteExif.pl @@ -2278,7 +2278,7 @@ NoOverwrite: next if $isNew > 0; $$offsetInfo{0x111}[2]==1) # (must be a single strip or the tile offsets could get out of sync) { # check the start offsets to see if they are the same - if ($$offsetInfo{0x111}[3] == $$offsetInfo{0x144}[3]) { + if ($$offsetInfo{0x111}[3][0] == $$offsetInfo{0x144}[3][0]) { # some Sony ARW images contain double-referenced raw data stored as both strips # and tiles. Copy the data using only the strip tags, but store the TileOffets # information for updating later (see PanasonicRaw:PatchRawDataOffset for a |