fpExif: Do not abort reading EXIF in case of some specific errors.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@9279 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
wp_xxyyzz 2024-03-15 14:57:15 +00:00
parent c1146182af
commit c0398db0f2

View File

@ -339,8 +339,8 @@ begin
// Read directory entry...
n := SizeOf(ifdRec);
if AStream.Read(ifdRec, n) < n then begin
Error(Format(rsReadIncompleteIFDRecord, [tagPos]));
exit;
Warning(Format(rsReadIncompleteIFDRecord, [tagPos]));
break;
end;
if (ifdRec.TagID = 0) and (ifdRec.DataType = 0) and (ifdRec.DataCount = 0) and (ifdRec.DataValue = 0) then
@ -360,8 +360,8 @@ begin
ifdRec.TagID := FixEndian16(ifdRec.TagID);
ifdRec.DataType := FixEndian16(ifdRec.DataType);
if not (ifdRec.DataType in [1..ord(High(TTagType))]) then begin
Error(Format(rsIncorrectTagType, [ifdRec.DataType, i, ifdRec.TagID, FImgInfo.Filename]));
exit;
Warning(Format(rsIncorrectTagType, [ifdRec.DataType, i, ifdRec.TagID, FImgInfo.Filename]));
break;
end;
ifdRec.DataCount := FixEndian32(ifdRec.DataCount);