blob: 6e055125da783d6280a673d91f18d8b81b3c3021 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
--- src/java/org/apache/java/lang/AdaptiveClassLoader.java.orig Tue Feb 8 18:37:01 2000
+++ src/java/org/apache/java/lang/AdaptiveClassLoader.java Tue Feb 8 20:33:18 2000
@@ -661,7 +661,18 @@
ZipEntry entry = zipfile.getEntry(name);
if (entry != null) {
- return zipfile.getInputStream(entry);
+ InputStream stream = zipfile.getInputStream(entry);
+ byte data[] = new byte[(int)entry.getSize()];
+ for(int i = 0 ; i < data.length ;) {
+ int size = stream.read(data, i, data.length - i);
+ if(size < 0) {
+ stream.close();
+ return null;
+ }
+ i += size;
+ }
+ stream.close();
+ return new ByteArrayInputStream(data);;
} else {
return null;
}
@@ -671,6 +682,7 @@
if ( zipfile != null ) {
try {
zipfile.close();
+ zipfile = null;
} catch ( IOException ignored ) {
}
}
|