Skip to content

Commit 1f42ea0

Browse files
Force Legacy Field Data Algo to Read Zip Files Safely
1 parent 4465b5e commit 1f42ea0

1 file changed

Lines changed: 2 additions & 19 deletions

File tree

vcell-core/src/main/java/cbit/vcell/VirtualMicroscopy/BioformatsImageImplLegacy.java

Lines changed: 2 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package cbit.vcell.VirtualMicroscopy;
22

33
import cbit.image.ImageSizeInfo;
4+
import cbit.vcell.field.FieldDataFileConversion;
45
import loci.formats.*;
56
import loci.formats.gui.AWTImageTools;
67
import loci.formats.gui.BufferedImageReader;
@@ -103,25 +104,7 @@ private ImageDataset[] readZipFile(String imageID,boolean bAll,boolean bMergeCha
103104
continue;
104105
}
105106
String entryName = entry.getName();
106-
String imageFileSuffix = null;
107-
int dotIndex = entryName.indexOf(".");
108-
if(dotIndex != -1){
109-
imageFileSuffix = entryName.substring(dotIndex);
110-
}
111-
InputStream zipInputStream = zipFile.getInputStream(entry);
112-
File tempImageFile = File.createTempFile("ImgDataSetReader", imageFileSuffix);
113-
tempImageFile.deleteOnExit();
114-
FileOutputStream fos = new FileOutputStream(tempImageFile,false);
115-
byte[] buffer = new byte[50000];
116-
while (true){
117-
int bytesRead = zipInputStream.read(buffer);
118-
if (bytesRead==-1){
119-
break;
120-
}
121-
fos.write(buffer, 0, bytesRead);
122-
}
123-
fos.close();
124-
zipInputStream.close();
107+
File tempImageFile = FieldDataFileConversion.getFileFromZipEntry(entry, zipFile);
125108
ImageDataset[] imageDatasetChannels = null;
126109
try {
127110
imageDatasetChannels = readImageDatasetChannels(tempImageFile.getAbsolutePath(),bMergeChannels,null,resize);

0 commit comments

Comments
 (0)