Liron Ar has uploaded a new change for review.

Change subject: core: RetrieveImageData - validate received response
......................................................................

core: RetrieveImageData - validate received response

After recieving OK response validate that the received size specified in
the header and the size of the data match the requested size.

Change-Id: I8f27ad8349ad9c8f1e44a204a4c5bc31f9ae5c7a
Signed-off-by: Liron Aravot <[email protected]>
---
M 
backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/RetrieveImageDataVDSCommand.java
1 file changed, 7 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/09/28809/1

diff --git 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/RetrieveImageDataVDSCommand.java
 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/RetrieveImageDataVDSCommand.java
index 81adb41..5beaf28 100644
--- 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/RetrieveImageDataVDSCommand.java
+++ 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/RetrieveImageDataVDSCommand.java
@@ -4,6 +4,7 @@
 import org.apache.commons.httpclient.methods.GetMethod;
 import org.ovirt.engine.core.common.asynctasks.AsyncTaskType;
 import org.ovirt.engine.core.common.config.ConfigValues;
+import org.ovirt.engine.core.common.errors.VdcBllErrors;
 import 
org.ovirt.engine.core.common.vdscommands.ImageHttpAccessVDSCommandParameters;
 
 public class RetrieveImageDataVDSCommand<P extends 
ImageHttpAccessVDSCommandParameters> extends HttpImageTaskVDSCommand<GetMethod, 
P> {
@@ -18,6 +19,8 @@
 
     @Override
     protected void handleOkResponse() {
+        processResponseHeaderValue(getMethod(), "Content-Length", 
getParameters().getSize().toString());
+
         byte[] data;
         try {
             data = getMethod().getResponseBody();
@@ -25,6 +28,10 @@
             throw createNetworkException(e);
         }
 
+        if (data.length != getParameters().getSize()) {
+            throwVdsErrorException("received downloaded data size is wrong", 
VdcBllErrors.GeneralException);
+        }
+
         getVDSReturnValue().setReturnValue(data);
     }
 


-- 
To view, visit http://gerrit.ovirt.org/28809
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I8f27ad8349ad9c8f1e44a204a4c5bc31f9ae5c7a
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Liron Ar <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to