Condition Coverage

blib/lib/Image/ExifTool/WriteExif.pl
Criterion Covered Total %
condition 398 778 51.1


and 2 conditions

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

and 3 conditions

line !l l&&!r l&&r condition
164 7 16 0 $proc ne \&Image::ExifTool::Exif::ProcessExif and $tagInfo->{'Name'} =~ /Text/
23 0 0 $tagInfo->{'PossiblePreview'} and $dirLen > 6
23 0 0 $tagInfo->{'PossiblePreview'} and $dirLen > 6 and substr($$dataPt, $dirStart, 3) eq "\377\330\377"
200 0 0 23 defined $rtnValue and length $rtnValue
214 9 0 0 $dirInfo->{'Parent'} eq "IFD0" and $hdr =~ /^(PENTAX |SAMSUNG)\0/
293 0 0 0 $raf->Seek($offset + $base, 0) and $raf->Read($buff, 2) == 2
295 0 0 0 $numEntries > 1 and $numEntries < 64
304 0 0 0 $format > 0 and $format <= 13
331 0 0 0 ref $tagTablePtr->{$tagID} eq "HASH" and $tagTablePtr->{$tagID}{'FixCount'}
351 15 39 278 defined $et->{'TIFF_END'} and $et->{'TIFF_END'} < $end
371 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'}
383 0 0 0 $et->{'FILE_TYPE'} eq "EPS" and @bitsPerSample == 1
397 4 0 1 $expectedBytes != $totalBytes and not $et->{'TIFF_TYPE'} =~ /^(K25|KDC|MEF|ORF|SRF)$/
440 0 0 0 $sizeID and $offsetInfo->{$sizeID}
452 0 0 0 $offset =~ /^\d+$/ and $size
0 0 0 $offset =~ /^\d+$/ and $size and $size =~ /^\d+$/
0 0 0 $offset =~ /^\d+$/ and $size and $size =~ /^\d+$/ and $size
473 0 0 0 $tagTablePtr->{'VARS'} and $tagTablePtr->{'VARS'}{'MINOR_ERRORS'}
497 0 0 0 $raf->Seek($base, 0) and $raf->Read($buff, 8) == 8
498 0 0 0 &SetByteOrder(substr($buff, 0, 2)) and &Get16u(\$buff, 2) == $magic
578 166 100 65 $name and $dirName eq "MakerNotes"
266 57 8 $name and $dirName eq "MakerNotes" and not $name =~ /^MakerNote/
587 215 0 116 $dirName =~ /^(IFD0|SubIFD)$/ and not defined $dirInfo->{'Multi'}
612 80 0 0 $dirLen and $dirStart + 4 >= $dataLen
616 0 0 38 $raf->Seek($offset + $base, 0) and $raf->Read($buff, 2) == 2
635 0 13 25 $dataLen == $len + 6 and $dirInfo->{'Multi'} || $buff =~ /\0{4}$/
651 0 0 0 $n and defined $rtn
660 4612 32 102 $tagID < $lastID and $tagID || $tagTablePtr->{'0'}
664 270 22 0 $unsorted and not $inMakerNotes || $et->IsRawType
686 305 18 56 $dirName eq "MakerNotes" and $dirInfo->{'Parent'} =~ /^(ExifIFD|IFD0)$/
323 0 56 $dirName eq "MakerNotes" and $dirInfo->{'Parent'} =~ /^(ExifIFD|IFD0)$/ and not $et->{'TIFF_TYPE'} =~ /^(ARW|SR2)$/
18 0 56 $dirName eq "MakerNotes" and $dirInfo->{'Parent'} =~ /^(ExifIFD|IFD0)$/ and not $et->{'TIFF_TYPE'} =~ /^(ARW|SR2)$/ and not $et->{'LeicaTrailerPos'}
0 54 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)
695 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"
705 179 108 6 $dirName eq "IFD0" and defined $et->{'JFIFYResolution'}
732 34 2 0 defined $perm and not $perm
758 305 74 0 $inMakerNotes and $et->{'Model'} eq "Canon EOS 40D"
773 1843 159 5125 defined $oldID and $oldID == $newID
783 0 0 0 $oldFormat == 16 && $et->{'Make'} eq 'Apple' && $inMakerNotes
4746 0 0 $oldFormat > 13 and not $oldFormat == 16 && $et->{'Make'} eq 'Apple' && $inMakerNotes
788 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
799 0 0 0 $oldFormat == 0 and $index
0 0 0 $oldFormat == 0 and $index and $oldCount == 0
824 1895 27 2824 $oldCount < 2 and $oldInfo
1922 2824 0 $oldCount < 2 and $oldInfo and $oldInfo->{'FixCount'}
828 0 0 0 defined $i and $i < $#$offList
854 122 2038 0 ref $tagTablePtr->{$oldID} eq "HASH" and $tagTablePtr->{$oldID}{'EntryBased'}
862 2156 9 0 $valuePtr < $dirEnd and $valuePtr + $oldSize > $dirStart
883 0 0 0 $oldInfo and $oldInfo->{'ChangeBase'}
908 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'})
921 0 0 226 $raf->Seek($base + $valuePtr + $dataPos, 0) && $raf->Read($oldValue, $oldSize) == $oldSize
927 0 0 0 $success and $oldValue =~ /^(\xff\xd8\xff|(.|.{33})\xd8\xff\xdb)/s
975 0 4584 162 defined $oldInfo and not $oldInfo
981 162 0 0 $mayDelete{$oldID} and $oldInfo
162 0 0 $mayDelete{$oldID} and $oldInfo and !@newTags || $newTags[0] != $oldID
983 0 0 0 not $nvHash and $wrongDir
996 0 0 5 $oldInfo && $oldInfo->{'SubIFD'}
4741 5 0 $oldFormat == 13 || $oldFormat == 18 and not $oldInfo && $oldInfo->{'SubIFD'}
1005 4563 183 0 $oldInfo->{'IsOffset'} || $oldInfo->{'SubIFD'} and not $Image::ExifTool::Exif::intFormat{$oldFormName}
1011 4733 9 4 $oldInfo->{'Drop'} and $et->{'DropTags'}
9 4 0 $oldInfo->{'Drop'} and $et->{'DropTags'} and $oldInfo->{'Drop'} == 1 || $oldInfo->{'Drop'} < $oldSize
1032 4608 134 0 $oldID <= $lastTagID and not $inMakerNotes || $et->IsRawType
1067 1645 0 0 $unsorted and $isNew
1068 0 0 0 $isNew > 0 and $hasOldID{$newID}
1073 0 0 0 $isNew < 0 and $hasNewID{$oldID}
1102 0 86 24 defined $curInfo and not $curInfo
1126 3 24 83 $curInfo and $et->{'NEW_VALUE'}{$curInfo}
1154 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
1168 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}
1217 2 0 239 $writable and $writable ne 1
1233 206 9 26 $inMakerNotes and $readFormName ne "string"
215 0 26 $inMakerNotes and $readFormName ne "string" and $readFormName ne "undef"
1248 972 0 2 $xDelete{$newID} and not defined $nvHash->{'Shift'}
1249 2 20 0 not defined $newVal and $newInfo->{'RawConvInv'}
20 0 0 not defined $newVal and $newInfo->{'RawConvInv'} and defined $nvHash->{'Value'}
1259 833 120 19 $newCount and $newCount < 0
1273 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"
1280 967 4 1 $strEnc and $newFormName eq "string"
1301 13 0 0 $newInfo->{'OffsetPair'} and $newVal eq "4277010157"
1343 0 2 38 defined $newValue and length $newValue
1363 0 0 4 $newFormName and $Image::ExifTool::Exif::formatNumber{$newFormName}
1397 5396 113 8 $newInfo->{'DataTag'} and $isNew >= 0
1425 4980 42 452 $newInfo->{'SubDirectory'} and $isNew <= 0
5022 0 452 $newInfo->{'SubDirectory'} and $isNew <= 0 and not $isOverwriting
42 10 442 $newInfo->{'SubDirectory'} and $isNew <= 0 and not $isOverwriting and !defined($newInfo->{'Writable'}) || $newInfo->{'Writable'}
10 0 442 $newInfo->{'SubDirectory'} and $isNew <= 0 and not $isOverwriting and !defined($newInfo->{'Writable'}) || $newInfo->{'Writable'} and not $newInfo->{'ReadFromRAF'}
1427 42 1 0 $et->{'DEL_GROUP'}{'MakerNotes'} and $et->{'DEL_GROUP'}{'MakerNotes'} != 2 || $isNew <= 0
1441 35 0 7 $isNew >= 0 and defined $set{$newID}
1445 0 1 6 $nvHash and $nvHash->{'MAKER_NOTE_FIXUP'}
1478 0 0 35 $oldInfo and $oldInfo->{'SubDirectory'}
1488 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/
1497 0 1 1 $subTable->{'PROCESS_PROC'} and $subTable->{'PROCESS_PROC'} eq \&Image::ExifTool::ProcessBinaryData
1503 20 12 1 $changed == $et->{'CHANGED'} and $subdirInfo{'Fixup'}->IsEmpty
1570 26 2 0 $subdirInfo{'FixBase'} and $baseShift < 0
28 0 0 $subdirInfo{'FixBase'} and $baseShift < 0 and !$subdirInfo{'MinOffset'} || $subdirInfo{'MinOffset'} + $baseShift < 0
1590 24 1 4 $previewInfo and not $previewInfo->{'NoBaseShift'}
1607 0 336 0 !defined($subdir->{'Start'}) || $subdir->{'Start'} =~ /\$valuePtr/ and $subdir->{'TagTable'}
1685 0 0 0 $subTable->{'VARS'} and $subTable->{'VARS'}{'MINOR_ERRORS'}
1700 109 0 0 $hdrLen and $hdrLen > 0
109 0 0 $hdrLen and $hdrLen > 0 and $subdirStart <= $dataLen
1742 100 0 0 $writeCount < $readCount and $writeCount == 1
1814 329 1 5 $subFixup->{'Pointers'} and $subdirInfo{'Base'} == $base
1855 0 6 1 $oddInfo and $et->{'NEW_VALUE'}{$oddInfo}
1898 141 0 0 $Image::ExifTool::Exif::formatSize[$newFormat] != 4 and $newInfo->{'IsOffset'}
1927 272 0 0 $newInfo->{'Format'} and $newInfo->{'Format'} ne $formatStr
1957 742 4767 0 $oldInfo and $oldInfo->{'FixedSize'}
1958 5330 26 153 $Image::ExifTool::Exif::saveForValidate{$newID} and $tagTablePtr eq \%Image::ExifTool::Exif::Main
1970 0 2506 0 $newInfo and $newInfo->{'EntryBased'}
1979 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'}
1988 1 0 0 $newInfo->{'IsOffset'} and $newInfo->{'IsOffset'} eq 2
1998 2510 0 1 $putFirst and $dirInfo->{'HeaderPtr'}
2027 0 9 280 defined $mandVal and $mandVal eq $$newValuePt
2063 215 115 49 $dirInfo->{'Multi'} && ($nextIfdOffset || $dirName eq 'IFD0' && $et->{'ADD_DIRS'}{'IFD1'} && $et->{'FILE_TYPE'} ne 'TIFF')
2068 361 1 17 $allMandatory and not $isNextIFD
362 13 4 $allMandatory and not $isNextIFD and $newEntries < $numEntries || $numEntries == 0
2077 331 47 1 $ifd and not $newEntries
2090 304 18 56 $dirName eq "MakerNotes" and $dirInfo->{'Parent'} =~ /^(ExifIFD|IFD0)$/
2092 0 48 8 defined $pad and $pad == 0 || $pad > 4 && $pad <= 32
2195 42 0 0 $dirName eq "SubIFD1" and not &ValidateIFD($dirInfo, $dirStart)
2208 1 0 0 $et->{'DEL_GROUP'}{$dirName} == 2 and $et->{'ADD_DIRS'}{$dirName}
2247 47 23 0 $offsetInfo->{'273'} and $offsetInfo->{'324'}
2250 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
2269 47 22 1 $stripOffsets and $stripOffsets->[0]{'PanasonicHack'}
69 0 0 $rawDataOffset and $rawDataOffset->[0]{'PanasonicHack'}
2286 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}
2349 2 0 68 @$oldOffset and @$oldSize
2374 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"
2415 21 3 0 $blockSize + $size & 1 and $n + 1 >= $count || !$oldEnd || $oldEnd != $$oldOffset[$n + 1]
2418 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
2427 20 0 4 $imageDataFlag eq "SubIFD" and not $subIfdDataFixup
2450 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/
2455 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/
2479 0 0 1 $r and not $raf
2482 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
2495 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"
2501 0 6 2 $tagInfo->{'IsOffset'} and $tagInfo->{'IsOffset'} eq 2
2504 0 1 7 $offset >= 0 and $offset + $size <= $dataLen
2558 60 0 0 defined $ttwLen and $ttwLen != length $newData
2590 20 4 4 $subFix and defined $subFix->{'BlockLen'}
24 0 4 $subFix and defined $subFix->{'BlockLen'} and $numBlocks > 0
2620 0 112 6 defined $newData and $deleteAll
2624 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'}
2664 0 0 0 $start and $start - 8 + $len <= length $newData
2672 0 318 13 defined $newData and length $newData < 12
2675 0 13 318 defined $newData and length $newData
13 318 0 defined $newData and length $newData and $et->{'FORCE_WRITE'}{'EXIF'}

or 2 conditions

line l !l condition
154 2 21 $dirInfo->{'DataPos'} || 0
163 6 7 $subdir->{'ProcessProc'} || $tagTablePtr->{'PROCESS_PROC'} || \&Image::ExifTool::Exif::ProcessExif
232 0 23 $subdirInfo{'FixedBy'} || 0
290 0 0 $dirInfo->{'DirStart'} || 0
291 0 0 $dirInfo->{'DataPos'} || 0
374 4 1 $vInfo->{'277'} || 1
491 0 0 $dirInfo->{'Base'} || 0
493 0 0 $dirInfo->{'Subdir'}{'Magic'} || 42
560 39 292 $dirInfo->{'DataPos'} || 0
561 286 45 $dirInfo->{'DirStart'} || 0
564 213 118 $dirInfo->{'Base'} || 0
567 331 0 $dirInfo->{'DirName'} || 'unknown'
569 190 141 $dirInfo->{'ImageData'} || ''
800 0 0 $ignoreCount || 0
830 0 0 $fixCount || 0
1588 0 29 $subdirInfo{'FixedBy'} || 0
1747 5 95 $newInfo->{'FixFormat'} || 'int32u'
1827 119 39 $newInfo->{'DataTag'} || ''
2336 0 0 eval $tagInfo->{'WrongBase'} || 0
2605 3 0 $dirInfo->{'NewDataPos'} || 0
2631 0 5 $previewInfo->{'BaseShift'} || 0
2634 0 0 $fixup->GetMarkerPointers(\$newData, 'PreviewImage') || 0

or 3 conditions

line l !l&&r !l&&!r condition
115 5513 415 0 $tagInfo->{'Format'} || $tagInfo->{'Writable'} || $tagInfo->{'Table'}{'WRITABLE'}
116 0 124 6229 not $format or $format eq 1
164 0 0 23 $proc ne \&Image::ExifTool::Exif::ProcessExif and $tagInfo->{'Name'} =~ /Text/ or $proc eq \&Image::ExifTool::ProcessBinaryData
0 0 23 $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"
262 0 0 0 $tagID or $index == 0
0 0 0 $tagID or $index == 0 or $allowZero
302 0 0 0 $tagID > $lastID or $dirInfo->{'AllowOutOfOrderTags'}
326 0 0 0 $format < 1 or $format > 13
371 16 6 63 !defined($vInfo->{'259'}) || $vInfo->{'259'} eq '1'
5 0 1 $vInfo->{'279'} || $vInfo->{'325'}
376 5 0 0 $vInfo->{'279'} || $vInfo->{'325'}
381 0 0 5 $et->{'DOC_NUM'} or $et->{'FILE_TYPE'} ne "TIFF"
391 0 0 0 $_ < 1 or $_ > 32
472 0 0 0 $tagTablePtr->{'GROUPS'}{'0'} eq 'MakerNotes' || $et->{'FILE_TYPE'} eq 'MOV'
562 276 0 55 $dirInfo->{'DataLen'} || length $$dataPt
563 134 107 90 $dirInfo->{'DirLen'} || $dataLen - $dirStart
568 207 124 0 $dirInfo->{'Fixup'} || 'Image::ExifTool::Fixup'->new
581 114 85 132 $dirName eq "IFD0" or $dirName eq "ExifIFD"
604 0 118 261 $dirStart < 0 or $dirStart > $dataLen - 2
635 25 13 0 $dirInfo->{'Multi'} || $buff =~ /\0{4}$/
660 106 22 6 $tagID || $tagTablePtr->{'0'}
664 22 0 0 $inMakerNotes || $et->IsRawType
682 115 53 1874 ref $tagTablePtr->{$tagID} eq 'ARRAY' || $tagInfo->{'Condition'}
760 0 0 0 $fmt < 1 or $fmt > 13
783 0 0 4746 $oldFormat < 1 or $oldFormat > 13 and not $oldFormat == 16 && $et->{'Make'} eq 'Apple' && $inMakerNotes
788 0 0 0 $et->{'Make'} =~ /KODAK/i && $dirInfo->{'Name'} && $dirInfo->{'Name'} eq 'SubIFD3' || $numEntries == 12 && $et->{'Make'} eq 'SONY' && $index >= 8
816 524 61 4161 ref $oldInfo ne "HASH" or $oldInfo->{'Condition'}
854 5 0 2160 $dirInfo->{'EntryBased'} or ref $tagTablePtr->{$oldID} eq "HASH" and $tagTablePtr->{$oldID}{'EntryBased'}
864 7 219 1939 $valuePtr < 0 or $valuePtr + $oldSize > $dataLen
895 0 0 0 $oldInfo || $tmpInfo
908 0 0 0 !defined($oldInfo) || $oldInfo && (!$oldInfo->{'SubDirectory'} || $oldInfo->{'ReadFromRAF'})
981 0 0 0 !@newTags || $newTags[0] != $oldID
996 5 0 4741 $oldFormat == 13 || $oldFormat == 18
1005 77 106 4563 $oldInfo->{'IsOffset'} || $oldInfo->{'SubIFD'}
1011 4 0 0 $oldInfo->{'Drop'} == 1 || $oldInfo->{'Drop'} < $oldSize
1032 134 0 0 $inMakerNotes || $et->IsRawType
1077 0 0 0 $_ == $oldID or push @tmpTags, $_
1097 2105 70 110 $curInfo or $addDirs->{$newID}
1111 22 1 1 $tagInfo->{'Format'} || $tagInfo->{'Writable'}
1145 839 250 1099 $nvHash or defined $mandatory->{$newID}
1176 238 0 12 $nvHash or $xDelete{$newID}
1219 22 219 0 $newInfo->{'Format'} || $writable
1248 20 16 958 not defined $newVal or $xDelete{$newID} and not defined $nvHash->{'Shift'}
1328 0 0 40 $newInfo->{'MakerNotes'} or $newInfo->{'Name'} eq "SubIFD"
1400 4 0 4 defined $offsetData{$dataTag} or $dataTag eq "LeicaTrailer"
1404 4 0 0 $compInfo || $dataTag
1425 416 26 10 !defined($newInfo->{'Writable'}) || $newInfo->{'Writable'}
1427 1 0 0 $et->{'DEL_GROUP'}{'MakerNotes'} != 2 || $isNew <= 0
1486 1 34 0 $writeProc or $writeProc = $subTable->{'WRITE_PROC'}
1570 0 0 0 !$subdirInfo{'MinOffset'} || $subdirInfo{'MinOffset'} + $baseShift < 0
1607 332 4 0 !defined($subdir->{'Start'}) || $subdir->{'Start'} =~ /\$valuePtr/
1616 106 0 0 $newInfo->{'Groups'}{'1'} || $newInfo->{'Name'}
1677 0 15 94 $subdirStart < 0 or $subdirStart + 2 > $dataLen
1812 1 0 0 $oldSize or not $inMakerNotes
1831 0 0 9 $et->{'DEL_GROUP'}{'CanonVRD'} or $et->{'DEL_GROUP'}{'Trailer'}
1965 236 4 2511 $newSize & 1 or $newSize < $newCount * $fsize
1970 5 0 2506 $dirInfo->{'EntryBased'} or $newInfo and $newInfo->{'EntryBased'}
1979 1 0 0 $et->{'FILE_TYPE'} eq 'JPEG' || $et->{'GENERATE_PREVIEW_INFO'}
2025 11 278 0 $newInfo->{'Format'} || $newFormName
2068 10 4 3 $newEntries < $numEntries || $numEntries == 0
2092 7 8 41 $pad == 0 || $pad > 4 && $pad <= 32
2269 1 0 69 $stripOffsets and $stripOffsets->[0]{'PanasonicHack'} or $rawDataOffset and $rawDataOffset->[0]{'PanasonicHack'}
2286 24 0 4 $tagID == 273 || $tagID == 324 || $sizeInfo->[3][0] && $sizeInfo->[3][0] * scalar(@{$sizeInfo->[3];}) > 1000000
2319 0 0 70 $byteCounts < 0 or $byteCounts + $n > length $newData
2415 3 0 0 $n + 1 >= $count || !$oldEnd || $oldEnd != $$oldOffset[$n + 1]
2490 0 0 0 $dataTag || $tagInfo->{'Name'}
2570 0 0 0 $format < 1 or $format > 13
2624 5 0 1 $$pt ne "LOAD_PREVIEW" and length($$pt) + length($newData) + 14 <= 65533 and not $previewInfo->{'IsTrailer'} or $previewInfo->{'IsShort'}