diff --git a/vmware-base/src/com/cloud/hypervisor/vmware/mo/SnapshotDescriptor.java b/vmware-base/src/com/cloud/hypervisor/vmware/mo/SnapshotDescriptor.java index 45428cd29ec..1c16d27a8cf 100755 --- a/vmware-base/src/com/cloud/hypervisor/vmware/mo/SnapshotDescriptor.java +++ b/vmware-base/src/com/cloud/hypervisor/vmware/mo/SnapshotDescriptor.java @@ -175,23 +175,25 @@ public class SnapshotDescriptor { while(current != null) { id = getSnapshotId(current); String numDisksStr = _properties.getProperty(String.format("snapshot%d.numDisks", id)); - assert(numDisksStr != null); - int numDisks = Integer.parseInt(numDisksStr); - DiskInfo[] disks = new DiskInfo[numDisks]; - for(int i = 0; i < numDisks; i++) { - disks[i] = new DiskInfo( - _properties.getProperty(String.format("snapshot%d.disk%d.fileName", id, i)), - _properties.getProperty(String.format("snapshot%d.disk%d.node", id, i)) - ); + int numDisks = 0; + if(numDisksStr != null && !numDisksStr.isEmpty()) { + numDisks = Integer.parseInt(numDisksStr); + DiskInfo[] disks = new DiskInfo[numDisks]; + for(int i = 0; i < numDisks; i++) { + disks[i] = new DiskInfo( + _properties.getProperty(String.format("snapshot%d.disk%d.fileName", id, i)), + _properties.getProperty(String.format("snapshot%d.disk%d.node", id, i)) + ); + } + + SnapshotInfo info = new SnapshotInfo(); + info.setId(id); + info.setNumOfDisks(numDisks); + info.setDisks(disks); + info.setDisplayName(_properties.getProperty(String.format("snapshot%d.displayName", id))); + l.add(info); } - SnapshotInfo info = new SnapshotInfo(); - info.setId(id); - info.setNumOfDisks(numDisks); - info.setDisks(disks); - info.setDisplayName(_properties.getProperty(String.format("snapshot%d.displayName", id))); - l.add(info); - current = _properties.getProperty(String.format("snapshot%d.parent", id)); }