Condition Coverage

blib/lib/Image/ExifTool/WriteExif.pl
Criterion Covered Total %
condition 398 766 51.9


and 2 conditions

line l !l condition
419 0 0 $et->Warn("$errStr. IFD dropped.") and return ""

and 3 conditions

line !l l&&!r l&&r condition
151 6 14 0 $proc ne \&Image::ExifTool::Exif::ProcessExif and $tagInfo->{'Name'} =~ /Text/
20 0 0 $tagInfo->{'PossiblePreview'} and $dirLen > 6
20 0 0 $tagInfo->{'PossiblePreview'} and $dirLen > 6 and substr($$dataPt, $dirStart, 3) eq "\377\330\377"
187 0 0 20 defined $rtnValue and length $rtnValue
201 8 0 0 $dirInfo->{'Parent'} eq "IFD0" and $hdr =~ /^(PENTAX |SAMSUNG)\0/
280 0 0 0 $raf->Seek($offset + $base, 0) and $raf->Read($buff, 2) == 2
282 0 0 0 $numEntries > 1 and $numEntries < 64
291 0 0 0 $format > 0 and $format <= 13
318 0 0 0 ref $tagTablePtr->{$tagID} eq "HASH" and $tagTablePtr->{$tagID}{'FixCount'}
338 15 39 278 defined $et->{'TIFF_END'} and $et->{'TIFF_END'} < $end
358 63 16 6 !defined($vInfo->{'259'}) || $vInfo->{'259'} eq '1' and $vInfo->{'256'}
16 0 6 !defined($vInfo->{'259'}) || $vInfo->{'259'} eq '1' and $vInfo->{'256'} and $vInfo->{'257'}
0 1 5 !defined($vInfo->{'259'}) || $vInfo->{'259'} eq '1' and $vInfo->{'256'} and $vInfo->{'257'} and $vInfo->{'279'} || $vInfo->{'325'}
370 0 0 0 $et->{'FILE_TYPE'} eq "EPS" and @bitsPerSample == 1
384 4 0 1 $expectedBytes != $totalBytes and not $et->{'TIFF_TYPE'} =~ /^(K25|KDC|MEF|ORF|SRF)$/
418 0 0 0 $tagTablePtr->{'VARS'} and $tagTablePtr->{'VARS'}{'MINOR_ERRORS'}
442 0 0 0 $raf->Seek($base, 0) and $raf->Read($buff, 8) == 8
443 0 0 0 &SetByteOrder(substr($buff, 0, 2)) and &Get16u(\$buff, 2) == $magic
523 166 100 62 $name and $dirName eq "MakerNotes"
266 54 8 $name and $dirName eq "MakerNotes" and not $name =~ /^MakerNote/
532 212 0 116 $dirName =~ /^(IFD0|SubIFD)$/ and not defined $dirInfo->{'Multi'}
557 80 0 0 $dirLen and $dirStart + 4 >= $dataLen
561 0 0 38 $raf->Seek($offset + $base, 0) and $raf->Read($buff, 2) == 2
580 0 13 25 $dataLen == $len + 6 and $dirInfo->{'Multi'} || $buff =~ /\0{4}$/
596 0 0 0 $n and defined $rtn
605 4563 32 92 $tagID < $lastID and $tagID || $tagTablePtr->{'0'}
609 269 20 0 $unsorted and not $inMakerNotes || $et->IsRawType
631 305 18 53 $dirName eq "MakerNotes" and $dirInfo->{'Parent'} =~ /^(ExifIFD|IFD0)$/
323 0 53 $dirName eq "MakerNotes" and $dirInfo->{'Parent'} =~ /^(ExifIFD|IFD0)$/ and not $et->{'TIFF_TYPE'} =~ /^(ARW|SR2)$/
18 0 53 $dirName eq "MakerNotes" and $dirInfo->{'Parent'} =~ /^(ExifIFD|IFD0)$/ and not $et->{'TIFF_TYPE'} =~ /^(ARW|SR2)$/ and not $et->{'LeicaTrailerPos'}
0 51 2 $dirName eq "MakerNotes" and $dirInfo->{'Parent'} =~ /^(ExifIFD|IFD0)$/ and not $et->{'TIFF_TYPE'} =~ /^(ARW|SR2)$/ and not $et->{'LeicaTrailerPos'} and &Image::ExifTool::MakerNotes::FixBase($et, $dirInfo)
640 2 0 0 $et->{'TIFF_TYPE'} eq "SRW" and $et->{'Make'} eq "SAMSUNG"
2 0 0 $et->{'TIFF_TYPE'} eq "SRW" and $et->{'Make'} eq "SAMSUNG" and $et->{'Model'} eq "EK-GN120"
650 179 108 6 $dirName eq "IFD0" and defined $et->{'JFIFYResolution'}
677 34 2 0 defined $perm and not $perm
703 305 71 0 $inMakerNotes and $et->{'Model'} eq "Canon EOS 40D"
718 1843 160 5063 defined $oldID and $oldID == $newID
728 0 0 0 $oldFormat == 16 && $et->{'Make'} eq 'Apple' && $inMakerNotes
4687 0 0 $oldFormat > 13 and not $oldFormat == 16 && $et->{'Make'} eq 'Apple' && $inMakerNotes
733 0 0 0 $dirName eq "MakerNotes" and $et->{'Make'} =~ /KODAK/i && $dirInfo->{'Name'} && $dirInfo->{'Name'} eq 'SubIFD3' || $numEntries == 12 && $et->{'Make'} eq 'SONY' && $index >= 8
744 0 0 0 $oldFormat == 0 and $index
0 0 0 $oldFormat == 0 and $index and $oldCount == 0
769 1859 27 2801 $oldCount < 2 and $oldInfo
1886 2801 0 $oldCount < 2 and $oldInfo and $oldInfo->{'FixCount'}
773 0 0 0 defined $i and $i < $#$offList
799 121 2003 0 ref $tagTablePtr->{$oldID} eq "HASH" and $tagTablePtr->{$oldID}{'EntryBased'}
807 2120 9 0 $valuePtr < $dirEnd and $valuePtr + $oldSize > $dirStart
828 0 0 0 $oldInfo and $oldInfo->{'ChangeBase'}
853 226 0 0 $oldSize > BINARY_DATA_LIMIT() and $origDirInfo->{'ImageData'}
0 0 0 $oldSize > BINARY_DATA_LIMIT() and $origDirInfo->{'ImageData'} and !defined($oldInfo) || $oldInfo && (!$oldInfo->{'SubDirectory'} || $oldInfo->{'ReadFromRAF'})
866 0 0 226 $raf->Seek($base + $valuePtr + $dataPos, 0) && $raf->Read($oldValue, $oldSize) == $oldSize
872 0 0 0 $success and $oldValue =~ /^(\xff\xd8\xff|(.|.{33})\xd8\xff\xdb)/s
920 0 4527 160 defined $oldInfo and not $oldInfo
926 160 0 0 $mayDelete{$oldID} and $oldInfo
160 0 0 $mayDelete{$oldID} and $oldInfo and !@newTags || $newTags[0] != $oldID
928 0 0 0 not $nvHash and $wrongDir
941 0 0 5 $oldInfo && $oldInfo->{'SubIFD'}
4682 5 0 $oldFormat == 13 || $oldFormat == 18 and not $oldInfo && $oldInfo->{'SubIFD'}
950 4504 183 0 $oldInfo->{'IsOffset'} || $oldInfo->{'SubIFD'} and not $Image::ExifTool::Exif::intFormat{$oldFormName}
956 4674 9 4 $oldInfo->{'Drop'} and $et->{'DropTags'}
9 4 0 $oldInfo->{'Drop'} and $et->{'DropTags'} and $oldInfo->{'Drop'} == 1 || $oldInfo->{'Drop'} < $oldSize
977 4559 124 0 $oldID <= $lastTagID and not $inMakerNotes || $et->IsRawType
1012 1646 0 0 $unsorted and $isNew
1013 0 0 0 $isNew > 0 and $hasOldID{$newID}
1018 0 0 0 $isNew < 0 and $hasNewID{$oldID}
1047 0 86 24 defined $curInfo and not $curInfo
1071 3 24 83 $curInfo and $et->{'NEW_VALUE'}{$curInfo}
1099 624 6 6 not defined $nvHash->{'Value'} and $nvHash->{'WantGroup'}
6 4 2 not defined $nvHash->{'Value'} and $nvHash->{'WantGroup'} and lc $nvHash->{'WantGroup'} eq lc $wrongDir
1113 29 0 4 $newInfo->{'Format'} and $newInfo->{'Writable'}
0 0 4 $newInfo->{'Format'} and $newInfo->{'Writable'} and $newInfo->{'Writable'} ne 1
2 27 0 $addDirs->{$newID} and $newInfo ne $addDirs->{$newID}
1162 2 0 239 $writable and $writable ne 1
1178 206 9 26 $inMakerNotes and $readFormName ne "string"
215 0 26 $inMakerNotes and $readFormName ne "string" and $readFormName ne "undef"
1193 972 0 2 $xDelete{$newID} and not defined $nvHash->{'Shift'}
1194 2 20 0 not defined $newVal and $newInfo->{'RawConvInv'}
20 0 0 not defined $newVal and $newInfo->{'RawConvInv'} and defined $nvHash->{'Value'}
1204 833 120 19 $newCount and $newCount < 0
1218 221 751 0 $et->{'FILE_TYPE'} eq "JPEG" and length $newValue > 65436
972 0 0 $et->{'FILE_TYPE'} eq "JPEG" and length $newValue > 65436 and $newInfo->{'Name'} ne "PreviewImage"
1225 967 4 1 $strEnc and $newFormName eq "string"
1246 13 0 0 $newInfo->{'OffsetPair'} and $newVal eq "4277010157"
1288 0 2 38 defined $newValue and length $newValue
1308 0 0 4 $newFormName and $Image::ExifTool::Exif::formatNumber{$newFormName}
1342 5337 113 8 $newInfo->{'DataTag'} and $isNew >= 0
1370 4931 42 442 $newInfo->{'SubDirectory'} and $isNew <= 0
4973 0 442 $newInfo->{'SubDirectory'} and $isNew <= 0 and not $isOverwriting
42 9 433 $newInfo->{'SubDirectory'} and $isNew <= 0 and not $isOverwriting and !defined($newInfo->{'Writable'}) || $newInfo->{'Writable'}
9 0 433 $newInfo->{'SubDirectory'} and $isNew <= 0 and not $isOverwriting and !defined($newInfo->{'Writable'}) || $newInfo->{'Writable'} and not $newInfo->{'ReadFromRAF'}
1372 42 1 0 $et->{'DEL_GROUP'}{'MakerNotes'} and $et->{'DEL_GROUP'}{'MakerNotes'} != 2 || $isNew <= 0
1386 35 0 7 $isNew >= 0 and defined $set{$newID}
1390 0 1 6 $nvHash and $nvHash->{'MAKER_NOTE_FIXUP'}
1423 0 0 35 $oldInfo and $oldInfo->{'SubDirectory'}
1433 0 34 1 $writeProc and $writeProc eq \&Image::ExifTool::MakerNotes::WriteUnknownOrPreview
34 1 0 $writeProc and $writeProc eq \&Image::ExifTool::MakerNotes::WriteUnknownOrPreview and $oldValue =~ /^\xff\xd8\xff/
1442 0 1 1 $subTable->{'PROCESS_PROC'} and $subTable->{'PROCESS_PROC'} eq \&Image::ExifTool::ProcessBinaryData
1448 20 12 1 $changed == $et->{'CHANGED'} and $subdirInfo{'Fixup'}->IsEmpty
1515 26 2 0 $subdirInfo{'FixBase'} and $baseShift < 0
28 0 0 $subdirInfo{'FixBase'} and $baseShift < 0 and !$subdirInfo{'MinOffset'} || $subdirInfo{'MinOffset'} + $baseShift < 0
1535 24 1 4 $previewInfo and not $previewInfo->{'NoBaseShift'}
1552 0 327 0 !defined($subdir->{'Start'}) || $subdir->{'Start'} =~ /\$valuePtr/ and $subdir->{'TagTable'}
1630 0 0 0 $subTable->{'VARS'} and $subTable->{'VARS'}{'MINOR_ERRORS'}
1645 109 0 0 $hdrLen and $hdrLen > 0
109 0 0 $hdrLen and $hdrLen > 0 and $subdirStart <= $dataLen
1687 100 0 0 $writeCount < $readCount and $writeCount == 1
1759 320 1 5 $subFixup->{'Pointers'} and $subdirInfo{'Base'} == $base
1800 0 6 1 $oddInfo and $et->{'NEW_VALUE'}{$oddInfo}
1843 141 0 0 $Image::ExifTool::Exif::formatSize[$newFormat] != 4 and $newInfo->{'IsOffset'}
1872 279 0 0 $newInfo->{'Format'} and $newInfo->{'Format'} ne $formatStr
1902 742 4708 0 $oldInfo and $oldInfo->{'FixedSize'}
1903 5271 26 153 $Image::ExifTool::Exif::saveForValidate{$newID} and $tagTablePtr eq \%Image::ExifTool::Exif::Main
1915 0 2470 0 $newInfo and $newInfo->{'EntryBased'}
1924 1 0 1 $dataTag eq "PreviewImage" and $et->{'FILE_TYPE'} eq 'JPEG' || $et->{'GENERATE_PREVIEW_INFO'}
1 0 0 $dataTag eq "LeicaTrailer" and $et->{'LeicaTrailer'}
1933 1 0 0 $newInfo->{'IsOffset'} and $newInfo->{'IsOffset'} eq 2
1943 2474 0 1 $putFirst and $dirInfo->{'HeaderPtr'}
1972 0 9 280 defined $mandVal and $mandVal eq $$newValuePt
2008 212 115 49 $dirInfo->{'Multi'} && ($nextIfdOffset || $dirName eq 'IFD0' && $et->{'ADD_DIRS'}{'IFD1'} && $et->{'FILE_TYPE'} ne 'TIFF')
2013 358 1 17 $allMandatory and not $isNextIFD
359 13 4 $allMandatory and not $isNextIFD and $newEntries < $numEntries || $numEntries == 0
2022 328 47 1 $ifd and not $newEntries
2035 304 18 53 $dirName eq "MakerNotes" and $dirInfo->{'Parent'} =~ /^(ExifIFD|IFD0)$/
2037 0 45 8 defined $pad and $pad == 0 || $pad > 4 && $pad <= 32
2140 42 0 0 $dirName eq "SubIFD1" and not &ValidateIFD($dirInfo, $dirStart)
2153 1 0 0 $et->{'DEL_GROUP'}{$dirName} == 2 and $et->{'ADD_DIRS'}{$dirName}
2192 47 23 0 $offsetInfo->{'273'} and $offsetInfo->{'324'}
2195 0 0 0 $dirName eq "SubIFD" and $et->{'TIFF_TYPE'} eq "ARW"
0 0 0 $dirName eq "SubIFD" and $et->{'TIFF_TYPE'} eq "ARW" and $offsetInfo->{'279'}
0 0 0 $dirName eq "SubIFD" and $et->{'TIFF_TYPE'} eq "ARW" and $offsetInfo->{'279'} and $offsetInfo->{'325'}
0 0 0 $dirName eq "SubIFD" and $et->{'TIFF_TYPE'} eq "ARW" and $offsetInfo->{'279'} and $offsetInfo->{'325'} and $offsetInfo->{'273'}[2] == 1
2214 47 22 1 $stripOffsets and $stripOffsets->[0]{'PanasonicHack'}
69 0 0 $rawDataOffset and $rawDataOffset->[0]{'PanasonicHack'}
2231 41 1 28 $raf and defined $origDirInfo->{'ImageData'}
42 4 24 $raf and defined $origDirInfo->{'ImageData'} and $tagID == 273 || $tagID == 324 || $sizeInfo->[3][0] && $sizeInfo->[3][0] * scalar(@{$sizeInfo->[3];}) > 1000000
19 5 0 defined $dataTag && defined $offsetData{$dataTag}
4 0 24 $raf and defined $origDirInfo->{'ImageData'} and $tagID == 273 || $tagID == 324 || $sizeInfo->[3][0] && $sizeInfo->[3][0] * scalar(@{$sizeInfo->[3];}) > 1000000 and not defined $dataTag && defined $offsetData{$dataTag}
2294 2 0 68 @$oldOffset and @$oldSize
2319 0 5 37 $offset >= 0 and $offset + $size <= $dataLen
1 0 4 $raf and $raf->Seek($offset + $dbase + $dpos, 0)
1 0 4 $raf and $raf->Seek($offset + $dbase + $dpos, 0) and $raf->Read($buff, $size) == $size
1 0 0 $tagInfo->{'Name'} eq "ThumbnailOffset" and $offset >= 0
1 0 0 $tagInfo->{'Name'} eq "ThumbnailOffset" and $offset >= 0 and $offset < $dataLen
0 0 1 $tagInfo->{'Name'} eq "PreviewImageStart" and $et->{'FILE_TYPE'} eq "JPEG"
2360 21 3 0 $blockSize + $size & 1 and $n + 1 >= $count || !$oldEnd || $oldEnd != $$oldOffset[$n + 1]
2363 23 1 0 $origDirInfo->{'PreserveImagePadding'} and $n + 1 < $count
24 0 0 $origDirInfo->{'PreserveImagePadding'} and $n + 1 < $count and $oldEnd
1 0 0 $origDirInfo->{'PreserveImagePadding'} and $n + 1 < $count and $oldEnd and $$oldOffset[$n + 1] > $oldEnd
2372 20 0 4 $imageDataFlag eq "SubIFD" and not $subIfdDataFixup
2395 4 0 0 $et->{'TIFF_TYPE'} eq "ARW" and $tagInfo->{'Name'} eq "ThumbnailOffset"
4 0 0 $et->{'TIFF_TYPE'} eq "ARW" and $tagInfo->{'Name'} eq "ThumbnailOffset" and $et->{'Model'} eq "DSLR-A100"
0 0 0 $et->{'TIFF_TYPE'} eq "ARW" and $tagInfo->{'Name'} eq "ThumbnailOffset" and $et->{'Model'} eq "DSLR-A100" and not $buff =~ /^\xff\xd8\xff/
2400 0 0 0 $pos < 65536 and $raf->Seek($pos + 65536, 0)
0 0 0 $pos < 65536 and $raf->Seek($pos + 65536, 0) and $raf->Read($try, $size) == $size
0 0 0 $pos < 65536 and $raf->Seek($pos + 65536, 0) and $raf->Read($try, $size) == $size and $try =~ /^\xff\xd8\xff/
2424 0 0 1 $r and not $raf
2427 0 0 1 $r->Seek($offset + $base + $dataPos, 0) and $r->Read($buff, $size) == $size
0 1 0 $r->Seek($offset + $base + $dataPos, 0) and $r->Read($buff, $size) == $size and $buff =~ /^.\xd8\xff[\xc4\xdb\xe0-\xef]/s
2440 6 0 8 $et->{'FILE_TYPE'} eq "JPEG" and not $tagInfo->{'MakerPreview'}
6 0 0 $et->{'TIFF_TYPE'} eq "ARW" and $et->{'Model'} eq "DSLR-A100"
2446 0 6 2 $tagInfo->{'IsOffset'} and $tagInfo->{'IsOffset'} eq 2
2449 0 1 7 $offset >= 0 and $offset + $size <= $dataLen
2503 60 0 0 defined $ttwLen and $ttwLen != length $newData
2535 20 4 4 $subFix and defined $subFix->{'BlockLen'}
24 0 4 $subFix and defined $subFix->{'BlockLen'} and $numBlocks > 0
2565 0 112 6 defined $newData and $deleteAll
2569 1 0 5 $$pt ne "LOAD_PREVIEW" and length($$pt) + length($newData) + 14 <= 65533
1 0 5 $$pt ne "LOAD_PREVIEW" and length($$pt) + length($newData) + 14 <= 65533 and not $previewInfo->{'IsTrailer'}
2609 0 0 0 $start and $start - 8 + $len <= length $newData
2617 0 315 13 defined $newData and length $newData < 12
2620 0 13 315 defined $newData and length $newData
13 315 0 defined $newData and length $newData and $et->{'FORCE_WRITE'}{'EXIF'}

or 2 conditions

line l !l condition
141 2 18 $dirInfo->{'DataPos'} || 0
150 5 6 $subdir->{'ProcessProc'} || $tagTablePtr->{'PROCESS_PROC'} || \&Image::ExifTool::Exif::ProcessExif
219 0 20 $subdirInfo{'FixedBy'} || 0
277 0 0 $dirInfo->{'DirStart'} || 0
278 0 0 $dirInfo->{'DataPos'} || 0
361 4 1 $vInfo->{'277'} || 1
436 0 0 $dirInfo->{'Base'} || 0
438 0 0 $dirInfo->{'Subdir'}{'Magic'} || 42
505 38 290 $dirInfo->{'DataPos'} || 0
506 283 45 $dirInfo->{'DirStart'} || 0
509 210 118 $dirInfo->{'Base'} || 0
512 328 0 $dirInfo->{'DirName'} || 'unknown'
514 190 138 $dirInfo->{'ImageData'} || ''
745 0 0 $ignoreCount || 0
775 0 0 $fixCount || 0
1533 0 29 $subdirInfo{'FixedBy'} || 0
1692 5 95 $newInfo->{'FixFormat'} || 'int32u'
1772 119 39 $newInfo->{'DataTag'} || ''
2281 0 0 eval $tagInfo->{'WrongBase'} || 0
2550 3 0 $dirInfo->{'NewDataPos'} || 0
2576 0 5 $previewInfo->{'BaseShift'} || 0
2579 0 0 $fixup->GetMarkerPointers(\$newData, 'PreviewImage') || 0

or 3 conditions

line l !l&&r !l&&!r condition
102 5377 415 0 $tagInfo->{'Format'} || $tagInfo->{'Writable'} || $tagInfo->{'Table'}{'WRITABLE'}
103 0 124 6089 not $format or $format eq 1
151 0 0 20 $proc ne \&Image::ExifTool::Exif::ProcessExif and $tagInfo->{'Name'} =~ /Text/ or $proc eq \&Image::ExifTool::ProcessBinaryData
0 0 20 $proc ne \&Image::ExifTool::Exif::ProcessExif and $tagInfo->{'Name'} =~ /Text/ or $proc eq \&Image::ExifTool::ProcessBinaryData or $tagInfo->{'PossiblePreview'} and $dirLen > 6 and substr($$dataPt, $dirStart, 3) eq "\377\330\377"
249 0 0 0 $tagID or $index == 0
0 0 0 $tagID or $index == 0 or $allowZero
289 0 0 0 $tagID > $lastID or $dirInfo->{'AllowOutOfOrderTags'}
313 0 0 0 $format < 1 or $format > 13
358 16 6 63 !defined($vInfo->{'259'}) || $vInfo->{'259'} eq '1'
5 0 1 $vInfo->{'279'} || $vInfo->{'325'}
363 5 0 0 $vInfo->{'279'} || $vInfo->{'325'}
368 0 0 5 $et->{'DOC_NUM'} or $et->{'FILE_TYPE'} ne "TIFF"
378 0 0 0 $_ < 1 or $_ > 32
417 0 0 0 $tagTablePtr->{'GROUPS'}{'0'} eq 'MakerNotes' || $et->{'FILE_TYPE'} eq 'MOV'
507 273 0 55 $dirInfo->{'DataLen'} || length $$dataPt
508 131 107 90 $dirInfo->{'DirLen'} || $dataLen - $dirStart
513 204 124 0 $dirInfo->{'Fixup'} || 'Image::ExifTool::Fixup'->new
526 114 85 129 $dirName eq "IFD0" or $dirName eq "ExifIFD"
549 0 118 258 $dirStart < 0 or $dirStart > $dataLen - 2
580 25 13 0 $dirInfo->{'Multi'} || $buff =~ /\0{4}$/
605 98 20 6 $tagID || $tagTablePtr->{'0'}
609 20 0 0 $inMakerNotes || $et->IsRawType
627 115 53 1875 ref $tagTablePtr->{$tagID} eq 'ARRAY' || $tagInfo->{'Condition'}
705 0 0 0 $fmt < 1 or $fmt > 13
728 0 0 4687 $oldFormat < 1 or $oldFormat > 13 and not $oldFormat == 16 && $et->{'Make'} eq 'Apple' && $inMakerNotes
733 0 0 0 $et->{'Make'} =~ /KODAK/i && $dirInfo->{'Name'} && $dirInfo->{'Name'} eq 'SubIFD3' || $numEntries == 12 && $et->{'Make'} eq 'SONY' && $index >= 8
761 520 60 4107 ref $oldInfo ne "HASH" or $oldInfo->{'Condition'}
799 5 0 2124 $dirInfo->{'EntryBased'} or ref $tagTablePtr->{$oldID} eq "HASH" and $tagTablePtr->{$oldID}{'EntryBased'}
809 7 219 1903 $valuePtr < 0 or $valuePtr + $oldSize > $dataLen
840 0 0 0 $oldInfo || $tmpInfo
853 0 0 0 !defined($oldInfo) || $oldInfo && (!$oldInfo->{'SubDirectory'} || $oldInfo->{'ReadFromRAF'})
926 0 0 0 !@newTags || $newTags[0] != $oldID
941 5 0 4682 $oldFormat == 13 || $oldFormat == 18
950 77 106 4504 $oldInfo->{'IsOffset'} || $oldInfo->{'SubIFD'}
956 4 0 0 $oldInfo->{'Drop'} == 1 || $oldInfo->{'Drop'} < $oldSize
977 124 0 0 $inMakerNotes || $et->IsRawType
1022 0 0 0 $_ == $oldID or push @tmpTags, $_
1042 2106 70 110 $curInfo or $addDirs->{$newID}
1056 22 2 1 $tagInfo->{'Format'} || $tagInfo->{'Writable'}
1090 840 250 1099 $nvHash or defined $mandatory->{$newID}
1121 238 0 12 $nvHash or $xDelete{$newID}
1164 22 219 0 $newInfo->{'Format'} || $writable
1193 20 16 958 not defined $newVal or $xDelete{$newID} and not defined $nvHash->{'Shift'}
1273 0 0 40 $newInfo->{'MakerNotes'} or $newInfo->{'Name'} eq "SubIFD"
1345 4 0 4 defined $offsetData{$dataTag} or $dataTag eq "LeicaTrailer"
1349 4 0 0 $compInfo || $dataTag
1370 407 26 9 !defined($newInfo->{'Writable'}) || $newInfo->{'Writable'}
1372 1 0 0 $et->{'DEL_GROUP'}{'MakerNotes'} != 2 || $isNew <= 0
1431 1 34 0 $writeProc or $writeProc = $subTable->{'WRITE_PROC'}
1515 0 0 0 !$subdirInfo{'MinOffset'} || $subdirInfo{'MinOffset'} + $baseShift < 0
1552 323 4 0 !defined($subdir->{'Start'}) || $subdir->{'Start'} =~ /\$valuePtr/
1561 106 0 0 $newInfo->{'Groups'}{'1'} || $newInfo->{'Name'}
1622 0 15 94 $subdirStart < 0 or $subdirStart + 2 > $dataLen
1757 1 0 0 $oldSize or not $inMakerNotes
1776 0 0 9 $et->{'DEL_GROUP'}{'CanonVRD'} or $et->{'DEL_GROUP'}{'Trailer'}
1910 230 4 2475 $newSize & 1 or $newSize < $newCount * $fsize
1915 5 0 2470 $dirInfo->{'EntryBased'} or $newInfo and $newInfo->{'EntryBased'}
1924 1 0 0 $et->{'FILE_TYPE'} eq 'JPEG' || $et->{'GENERATE_PREVIEW_INFO'}
1970 11 278 0 $newInfo->{'Format'} || $newFormName
2013 10 4 3 $newEntries < $numEntries || $numEntries == 0
2037 7 8 38 $pad == 0 || $pad > 4 && $pad <= 32
2214 1 0 69 $stripOffsets and $stripOffsets->[0]{'PanasonicHack'} or $rawDataOffset and $rawDataOffset->[0]{'PanasonicHack'}
2231 24 0 4 $tagID == 273 || $tagID == 324 || $sizeInfo->[3][0] && $sizeInfo->[3][0] * scalar(@{$sizeInfo->[3];}) > 1000000
2264 0 0 70 $byteCounts < 0 or $byteCounts + $n > length $newData
2360 3 0 0 $n + 1 >= $count || !$oldEnd || $oldEnd != $$oldOffset[$n + 1]
2435 0 0 0 $dataTag || $tagInfo->{'Name'}
2515 0 0 0 $format < 1 or $format > 13
2569 5 0 1 $$pt ne "LOAD_PREVIEW" and length($$pt) + length($newData) + 14 <= 65533 and not $previewInfo->{'IsTrailer'} or $previewInfo->{'IsShort'}