#OTHER by exept
authorClaus Gittinger <cg@exept.de>
Fri, 18 Oct 2019 16:29:04 +0200
changeset 4375 dd1b4512e4c5
parent 4374 9ee6defe2909
child 4376 12b16a7174e9
#OTHER by exept fix: care for short files
TIFFReader.st
--- a/TIFFReader.st	Fri Oct 18 16:29:02 2019 +0200
+++ b/TIFFReader.st	Fri Oct 18 16:29:04 2019 +0200
@@ -722,6 +722,7 @@
 
     |bytes1_2 byte3 byte4 versionLow versionHi|
 
+    someHeaderBytes size < 4 ifTrue:[^ false].
     bytes1_2 := (someHeaderBytes copyFrom:1 to:2) asString.
     byte3 := someHeaderBytes at:3.
     byte4 := someHeaderBytes at:4.
@@ -747,7 +748,8 @@
 !
 
 isValidImageFile:aFileName
-    "return true, if aFileName contains a TIFF image"
+    "return true, if aFileName contains a TIFF image.
+     Does not really validate - just looks at the header bytes"
 
     |inStream bytes1To4|
 
@@ -757,7 +759,14 @@
     bytes1To4 := inStream nextBytes:4.
     inStream close.
 
-    ^ self hasValidImageHeader:bytes1To4    
+    ^ (bytes1To4 size == 4) and:[self hasValidImageHeader:bytes1To4]    
+
+    "
+     TIFFReader isValidImageFile:'../../doc/html/testDocs/granite.tiff'  
+     TIFFReader isValidImageFile:'fooBar'    
+     TIFFReader isValidImageFile:'../../goodies/bitmaps/xpmBitmaps/device_images/ljet.xpm'      
+     TIFFReader isValidImageFile:'../../goodies/bitmaps/bitmaps/gifImages/garfield.gif' 
+    "
 
     "Modified: / 26-08-2017 / 15:31:08 / cg"
 ! !