Merge "Don't copy more than the object size"
This commit is contained in:
commit
f74d474f3c
|
@ -169,14 +169,14 @@ public void copyTo(OutputStream out) throws MissingObjectException,
|
||||||
final long sz = in.getSize();
|
final long sz = in.getSize();
|
||||||
byte[] tmp = new byte[1024];
|
byte[] tmp = new byte[1024];
|
||||||
long copied = 0;
|
long copied = 0;
|
||||||
for (;;) {
|
while (copied < sz) {
|
||||||
int n = in.read(tmp);
|
int n = in.read(tmp);
|
||||||
if (n < 0)
|
if (n < 0)
|
||||||
break;
|
throw new EOFException();
|
||||||
out.write(tmp, 0, n);
|
out.write(tmp, 0, n);
|
||||||
copied += n;
|
copied += n;
|
||||||
}
|
}
|
||||||
if (copied != sz)
|
if (0 <= in.read())
|
||||||
throw new EOFException();
|
throw new EOFException();
|
||||||
} finally {
|
} finally {
|
||||||
in.close();
|
in.close();
|
||||||
|
|
Loading…
Reference in New Issue