summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorexiftool <exiftool@users.sourceforge.net>2024-01-31 10:17:48 -0500
committerexiftool <exiftool@users.sourceforge.net>2024-01-31 10:17:48 -0500
commit212f02cf22b9484674752181cad3b73089ce9694 (patch)
tree80fcdad2a053d486dba19acd92ec7fb2ccae190a /lib
parenta5358f1189d3cf78e9854b54f6ecf05387c3dd3b (diff)
Update to 12.76
Diffstat (limited to 'lib')
-rw-r--r--lib/Image/ExifTool.pm2
-rw-r--r--lib/Image/ExifTool/HtmlDump.pm8
-rw-r--r--lib/Image/ExifTool/WriteExif.pl2
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