Condition Coverage

blib/lib/Image/ExifTool/WriteExif.pl
Criterion Covered Total %
condition 383 721 53.1


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 162 100 62 $name and $dirName eq "MakerNotes"
262 54 8 $name and $dirName eq "MakerNotes" and not $name =~ /^MakerNote/
532 210 0 114 $dirName =~ /^(IFD0|SubIFD)$/ and not defined $dirInfo->{'Multi'}
557 77 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 2866 0 0 $tagID < $lastID and $tagID || $tagTablePtr->{'0'}
629 301 18 53 $dirName eq "MakerNotes" and $dirInfo->{'Parent'} =~ /^(ExifIFD|IFD0)$/
319 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)
638 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"
648 177 106 6 $dirName eq "IFD0" and defined $et->{'JFIFYResolution'}
675 34 2 0 defined $perm and not $perm
701 301 71 0 $inMakerNotes and $et->{'Model'} eq "Canon EOS 40D"
716 1825 159 5054 defined $oldID and $oldID == $newID
731 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
742 0 0 0 $oldFormat == 0 and $index
0 0 0 $oldFormat == 0 and $index and $oldCount == 0
767 1858 27 2797 $oldCount < 2 and $oldInfo
1885 2797 0 $oldCount < 2 and $oldInfo and $oldInfo->{'FixCount'}
771 0 0 0 defined $i and $i < $#$offList
797 121 2001 0 ref $tagTablePtr->{$oldID} eq "HASH" and $tagTablePtr->{$oldID}{'EntryBased'}
805 2118 9 0 $valuePtr < $dirEnd and $valuePtr + $oldSize > $dirStart
826 0 0 0 $oldInfo and $oldInfo->{'ChangeBase'}
851 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'})
864 0 0 226 $raf->Seek($base + $valuePtr + $dataPos, 0) && $raf->Read($oldValue, $oldSize) == $oldSize
870 0 0 0 $success and $oldValue =~ /^(\xff\xd8\xff|(.|.{33})\xd8\xff\xdb)/s
918 0 4522 160 defined $oldInfo and not $oldInfo
924 160 0 0 $mayDelete{$oldID} and $oldInfo
160 0 0 $mayDelete{$oldID} and $oldInfo and !@newTags || $newTags[0] != $oldID
926 0 0 0 not $nvHash and $wrongDir
939 0 0 5 $oldInfo && $oldInfo->{'SubIFD'}
4677 5 0 $oldFormat == 13 || $oldFormat == 18 and not $oldInfo && $oldInfo->{'SubIFD'}
948 4499 183 0 $oldInfo->{'IsOffset'} || $oldInfo->{'SubIFD'} and not $Image::ExifTool::Exif::intFormat{$oldFormName}
954 4669 9 4 $oldInfo->{'Drop'} and $et->{'DropTags'}
9 4 0 $oldInfo->{'Drop'} and $et->{'DropTags'} and $oldInfo->{'Drop'} == 1 || $oldInfo->{'Drop'} < $oldSize
975 4554 124 0 $oldID <= $lastTagID and not $inMakerNotes
1028 0 86 24 defined $curInfo and not $curInfo
1052 3 24 83 $curInfo and $et->{'NEW_VALUE'}{$curInfo}
1080 622 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
1094 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}
1143 2 0 239 $writable and $writable ne 1
1159 206 9 26 $inMakerNotes and $readFormName ne "string"
215 0 26 $inMakerNotes and $readFormName ne "string" and $readFormName ne "undef"
1174 958 0 2 $xDelete{$newID} and not defined $nvHash->{'Shift'}
1175 2 20 0 not defined $newVal and $newInfo->{'RawConvInv'}
20 0 0 not defined $newVal and $newInfo->{'RawConvInv'} and defined $nvHash->{'Value'}
1185 821 118 19 $newCount and $newCount < 0
1199 207 751 0 $et->{'FILE_TYPE'} eq "JPEG" and length $newValue > 65436
958 0 0 $et->{'FILE_TYPE'} eq "JPEG" and length $newValue > 65436 and $newInfo->{'Name'} ne "PreviewImage"
1206 953 4 1 $strEnc and $newFormName eq "string"
1227 13 0 0 $newInfo->{'OffsetPair'} and $newVal eq "4277010157"
1269 0 2 36 defined $newValue and length $newValue
1289 0 0 4 $newFormName and $Image::ExifTool::Exif::formatNumber{$newFormName}
1323 5316 113 8 $newInfo->{'DataTag'} and $isNew >= 0
1351 4912 40 442 $newInfo->{'SubDirectory'} and $isNew <= 0
4952 0 442 $newInfo->{'SubDirectory'} and $isNew <= 0 and not $isOverwriting
40 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'}
1353 42 1 0 $et->{'DEL_GROUP'}{'MakerNotes'} and $et->{'DEL_GROUP'}{'MakerNotes'} != 2 || $isNew <= 0
1367 35 0 7 $isNew >= 0 and defined $set{$newID}
1371 0 1 6 $nvHash and $nvHash->{'MAKER_NOTE_FIXUP'}
1404 0 0 35 $oldInfo and $oldInfo->{'SubDirectory'}
1414 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/
1423 0 1 1 $subTable->{'PROCESS_PROC'} and $subTable->{'PROCESS_PROC'} eq \&Image::ExifTool::ProcessBinaryData
1429 20 12 1 $changed == $et->{'CHANGED'} and $subdirInfo{'Fixup'}->IsEmpty
1496 26 2 0 $subdirInfo{'FixBase'} and $baseShift < 0
28 0 0 $subdirInfo{'FixBase'} and $baseShift < 0 and !$subdirInfo{'MinOffset'} || $subdirInfo{'MinOffset'} + $baseShift < 0
1516 24 1 4 $previewInfo and not $previewInfo->{'NoBaseShift'}
1533 0 327 0 !defined($subdir->{'Start'}) || $subdir->{'Start'} =~ /\$valuePtr/ and $subdir->{'TagTable'}
1611 0 0 0 $subTable->{'VARS'} and $subTable->{'VARS'}{'MINOR_ERRORS'}
1626 109 0 0 $hdrLen and $hdrLen > 0
109 0 0 $hdrLen and $hdrLen > 0 and $subdirStart <= $dataLen
1668 100 0 0 $writeCount < $readCount and $writeCount == 1
1740 320 1 5 $subFixup->{'Pointers'} and $subdirInfo{'Base'} == $base
1781 0 6 1 $oddInfo and $et->{'NEW_VALUE'}{$oddInfo}
1824 141 0 0 $Image::ExifTool::Exif::formatSize[$newFormat] != 4 and $newInfo->{'IsOffset'}
1853 279 0 0 $newInfo->{'Format'} and $newInfo->{'Format'} ne $formatStr
1883 727 4702 0 $oldInfo and $oldInfo->{'FixedSize'}
1884 5250 26 153 $Image::ExifTool::Exif::saveForValidate{$newID} and $tagTablePtr eq \%Image::ExifTool::Exif::Main
1896 0 2464 0 $newInfo and $newInfo->{'EntryBased'}
1905 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'}
1914 1 0 0 $newInfo->{'IsOffset'} and $newInfo->{'IsOffset'} eq 2
1924 2468 0 1 $putFirst and $dirInfo->{'HeaderPtr'}
1953 0 9 269 defined $mandVal and $mandVal eq $$newValuePt
1989 210 113 49 $dirInfo->{'Multi'} && ($nextIfdOffset || $dirName eq 'IFD0' && $et->{'ADD_DIRS'}{'IFD1'} && $et->{'FILE_TYPE'} ne 'TIFF')
1994 354 1 17 $allMandatory and not $isNextIFD
355 13 4 $allMandatory and not $isNextIFD and $newEntries < $numEntries || $numEntries == 0
2003 324 47 1 $ifd and not $newEntries
2016 300 18 53 $dirName eq "MakerNotes" and $dirInfo->{'Parent'} =~ /^(ExifIFD|IFD0)$/
2018 0 45 8 defined $pad and $pad == 0 || $pad > 4 && $pad <= 32
2121 42 0 0 $dirName eq "SubIFD1" and not &ValidateIFD($dirInfo, $dirStart)
2134 1 0 0 $et->{'DEL_GROUP'}{$dirName} == 2 and $et->{'ADD_DIRS'}{$dirName}
2175 47 22 1 $stripOffsets and $stripOffsets->[0]{'PanasonicHack'}
2190 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}
2252 2 0 68 @$oldOffset and @$oldSize
2277 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"
2301 21 3 0 $blockSize + $size & 1 and $n + 1 >= $count || !$oldEnd || $oldEnd != $$oldOffset[$n + 1]
2304 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
2313 20 0 4 $imageDataFlag eq "SubIFD" and not $subIfdDataFixup
2336 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/
2341 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/
2365 0 0 1 $r and not $raf
2368 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
2381 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"
2387 0 6 2 $tagInfo->{'IsOffset'} and $tagInfo->{'IsOffset'} eq 2
2390 0 1 7 $offset >= 0 and $offset + $size <= $dataLen
2410 70 0 0 $otherPos and $tagInfo->{'PanasonicHack'}
2426 60 0 0 defined $ttwLen and $ttwLen != length $newData
2458 20 4 4 $subFix and defined $subFix->{'BlockLen'}
24 0 4 $subFix and defined $subFix->{'BlockLen'} and $numBlocks > 0
2488 0 110 6 defined $newData and $deleteAll
2492 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'}
2532 0 0 0 $start and $start - 8 + $len <= length $newData
2540 0 311 13 defined $newData and length $newData < 12
2543 0 13 311 defined $newData and length $newData
13 311 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 286 $dirInfo->{'DataPos'} || 0
506 281 43 $dirInfo->{'DirStart'} || 0
509 208 116 $dirInfo->{'Base'} || 0
512 324 0 $dirInfo->{'DirName'} || 'unknown'
514 188 136 $dirInfo->{'ImageData'} || ''
743 0 0 $ignoreCount || 0
773 0 0 $fixCount || 0
1514 0 29 $subdirInfo{'FixedBy'} || 0
1673 5 95 $newInfo->{'FixFormat'} || 'int32u'
1753 119 39 $newInfo->{'DataTag'} || ''
2239 0 0 eval $tagInfo->{'WrongBase'} || 0
2473 3 0 $dirInfo->{'NewDataPos'} || 0
2499 0 5 $previewInfo->{'BaseShift'} || 0
2502 0 0 $fixup->GetMarkerPointers(\$newData, 'PreviewImage') || 0

or 3 conditions

line l !l&&r !l&&!r condition
102 5342 414 0 $tagInfo->{'Format'} || $tagInfo->{'Writable'} || $tagInfo->{'Table'}{'WRITABLE'}
103 0 123 6054 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 271 0 53 $dirInfo->{'DataLen'} || length $$dataPt
508 130 107 87 $dirInfo->{'DirLen'} || $dataLen - $dirStart
513 202 122 0 $dirInfo->{'Fixup'} || 'Image::ExifTool::Fixup'->new
526 112 83 129 $dirName eq "IFD0" or $dirName eq "ExifIFD"
549 0 115 257 $dirStart < 0 or $dirStart > $dataLen - 2
580 25 13 0 $dirInfo->{'Multi'} || $buff =~ /\0{4}$/
605 0 0 0 $tagID || $tagTablePtr->{'0'}
625 115 53 1870 ref $tagTablePtr->{$tagID} eq 'ARRAY' || $tagInfo->{'Condition'}
703 0 0 0 $fmt < 1 or $fmt > 13
726 0 0 4682 $oldFormat < 1 or $oldFormat > 13
731 0 0 0 $et->{'Make'} =~ /KODAK/i && $dirInfo->{'Name'} && $dirInfo->{'Name'} eq 'SubIFD3' || $numEntries == 12 && $et->{'Make'} eq 'SONY' && $index >= 8
759 520 60 4102 ref $oldInfo ne "HASH" or $oldInfo->{'Condition'}
797 5 0 2122 $dirInfo->{'EntryBased'} or ref $tagTablePtr->{$oldID} eq "HASH" and $tagTablePtr->{$oldID}{'EntryBased'}
807 7 219 1901 $valuePtr < 0 or $valuePtr + $oldSize > $dataLen
838 0 0 0 $oldInfo || $tmpInfo
851 0 0 0 !defined($oldInfo) || $oldInfo && (!$oldInfo->{'SubDirectory'} || $oldInfo->{'ReadFromRAF'})
924 0 0 0 !@newTags || $newTags[0] != $oldID
939 5 0 4677 $oldFormat == 13 || $oldFormat == 18
948 77 106 4499 $oldInfo->{'IsOffset'} || $oldInfo->{'SubIFD'}
954 4 0 0 $oldInfo->{'Drop'} == 1 || $oldInfo->{'Drop'} < $oldSize
1023 2089 68 110 $curInfo or $addDirs->{$newID}
1037 22 2 1 $tagInfo->{'Format'} || $tagInfo->{'Writable'}
1071 837 238 1097 $nvHash or defined $mandatory->{$newID}
1102 238 0 12 $nvHash or $xDelete{$newID}
1145 22 219 0 $newInfo->{'Format'} || $writable
1174 20 16 944 not defined $newVal or $xDelete{$newID} and not defined $nvHash->{'Shift'}
1254 0 0 38 $newInfo->{'MakerNotes'} or $newInfo->{'Name'} eq "SubIFD"
1326 4 0 4 defined $offsetData{$dataTag} or $dataTag eq "LeicaTrailer"
1330 4 0 0 $compInfo || $dataTag
1351 407 26 9 !defined($newInfo->{'Writable'}) || $newInfo->{'Writable'}
1353 1 0 0 $et->{'DEL_GROUP'}{'MakerNotes'} != 2 || $isNew <= 0
1412 1 34 0 $writeProc or $writeProc = $subTable->{'WRITE_PROC'}
1496 0 0 0 !$subdirInfo{'MinOffset'} || $subdirInfo{'MinOffset'} + $baseShift < 0
1533 323 4 0 !defined($subdir->{'Start'}) || $subdir->{'Start'} =~ /\$valuePtr/
1542 106 0 0 $newInfo->{'Groups'}{'1'} || $newInfo->{'Name'}
1603 0 15 94 $subdirStart < 0 or $subdirStart + 2 > $dataLen
1738 1 0 0 $oldSize or not $inMakerNotes
1757 0 0 9 $et->{'DEL_GROUP'}{'CanonVRD'} or $et->{'DEL_GROUP'}{'Trailer'}
1891 230 4 2469 $newSize & 1 or $newSize < $newCount * $fsize
1896 5 0 2464 $dirInfo->{'EntryBased'} or $newInfo and $newInfo->{'EntryBased'}
1905 1 0 0 $et->{'FILE_TYPE'} eq 'JPEG' || $et->{'GENERATE_PREVIEW_INFO'}
1951 9 269 0 $newInfo->{'Format'} || $newFormName
1994 10 4 3 $newEntries < $numEntries || $numEntries == 0
2018 7 8 38 $pad == 0 || $pad > 4 && $pad <= 32
2190 24 0 4 $tagID == 273 || $tagID == 324 || $sizeInfo->[3][0] && $sizeInfo->[3][0] * scalar(@{$sizeInfo->[3];}) > 1000000
2222 0 0 70 $byteCounts < 0 or $byteCounts + $n > length $newData
2301 3 0 0 $n + 1 >= $count || !$oldEnd || $oldEnd != $$oldOffset[$n + 1]
2376 0 0 0 $dataTag || $tagInfo->{'Name'}
2438 0 0 0 $format < 1 or $format > 13
2492 5 0 1 $$pt ne "LOAD_PREVIEW" and length($$pt) + length($newData) + 14 <= 65533 and not $previewInfo->{'IsTrailer'} or $previewInfo->{'IsShort'}