Skip to content

Commit 86df2c1

Browse files
committed
Findbugs finding: Fix potential NPE
1 parent e668c3f commit 86df2c1

1 file changed

Lines changed: 7 additions & 2 deletions

File tree

vmware-base/src/com/cloud/hypervisor/vmware/mo/DatastoreMO.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
import com.vmware.vim25.SelectionSpec;
3333
import com.vmware.vim25.TraversalSpec;
3434

35+
import com.cloud.exception.CloudException;
3536
import com.cloud.hypervisor.vmware.util.VmwareContext;
3637
import com.cloud.utils.Pair;
3738

@@ -181,7 +182,7 @@ public boolean deleteFile(String path, ManagedObjectReference morDc, boolean tes
181182
}
182183

183184
public boolean copyDatastoreFile(String srcFilePath, ManagedObjectReference morSrcDc, ManagedObjectReference morDestDs, String destFilePath,
184-
ManagedObjectReference morDestDc, boolean forceOverwrite) throws Exception {
185+
ManagedObjectReference morDestDc, boolean forceOverwrite) throws Exception {
185186

186187
String srcDsName = getName();
187188
DatastoreMO destDsMo = new DatastoreMO(_context, morDestDs);
@@ -209,7 +210,7 @@ public boolean copyDatastoreFile(String srcFilePath, ManagedObjectReference morS
209210
}
210211

211212
public boolean moveDatastoreFile(String srcFilePath, ManagedObjectReference morSrcDc, ManagedObjectReference morDestDs, String destFilePath,
212-
ManagedObjectReference morDestDc, boolean forceOverwrite) throws Exception {
213+
ManagedObjectReference morDestDc, boolean forceOverwrite) throws Exception {
213214

214215
String srcDsName = getName();
215216
DatastoreMO destDsMo = new DatastoreMO(_context, morDestDs);
@@ -342,6 +343,10 @@ public String searchFileInSubFolders(String fileName, boolean caseInsensitive) t
342343
ArrayList<HostDatastoreBrowserSearchResults> results = browserMo.searchDatastoreSubFolders("[" + getName() + "]", fileName, caseInsensitive);
343344
if (results != null && results.size() > 1) {
344345
s_logger.warn("Multiple files with name " + fileName + " exists in datastore " + datastorePath + ". Trying to choose first file found in search attempt.");
346+
} else if (results == null) {
347+
String msg = "No file found with name " + fileName + " found in datastore " + datastorePath;
348+
s_logger.error(msg);
349+
throw new CloudException(msg);
345350
}
346351
for (HostDatastoreBrowserSearchResults result : results) {
347352
List<FileInfo> info = result.getFile();

0 commit comments

Comments
 (0)