| 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'} | 
| 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'} |