From c89f6e29365cf352bb2b1d09fac05013a9487b66 Mon Sep 17 00:00:00 2001 From: Kelven Yang Date: Wed, 11 Jan 2012 15:37:28 -0800 Subject: [PATCH] bug 12994: fix IndexOutOfBoundsException problem in VMDK upload --- .../com/cloud/hypervisor/vmware/util/VmwareContext.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/vmware-base/src/com/cloud/hypervisor/vmware/util/VmwareContext.java b/vmware-base/src/com/cloud/hypervisor/vmware/util/VmwareContext.java index 96625c57747..7491a90fee0 100755 --- a/vmware-base/src/com/cloud/hypervisor/vmware/util/VmwareContext.java +++ b/vmware-base/src/com/cloud/hypervisor/vmware/util/VmwareContext.java @@ -335,15 +335,14 @@ public class VmwareContext { try { bos = new BufferedOutputStream(conn.getOutputStream()); is = new BufferedInputStream(new FileInputStream(localFileName)); - int bytesAvailable = is.available(); - int bufferSize = Math.min(bytesAvailable, _CHUNKSIZE); + int bufferSize = _CHUNKSIZE; byte[] buffer = new byte[bufferSize]; while (true) { int bytesRead = is.read(buffer, 0, bufferSize); if (bytesRead == -1) { break; - } - bos.write(buffer, 0, bufferSize); + } + bos.write(buffer, 0, bytesRead); totalBytesUpdated += bytesRead; bos.flush(); if(progressUpdater != null)