Fix potential null pointer exception
WeakReference.get() may return null, so we should check it before using
it.
Bug: 238692795
Test: atest MicrodroidTests
Change-Id: Iea261ee7f86a4090a6b19fff71dbe45a72a185d0
diff --git a/javalib/src/android/system/virtualmachine/VirtualMachine.java b/javalib/src/android/system/virtualmachine/VirtualMachine.java
index ae84c08..cc99006 100644
--- a/javalib/src/android/system/virtualmachine/VirtualMachine.java
+++ b/javalib/src/android/system/virtualmachine/VirtualMachine.java
@@ -273,7 +273,7 @@
throw new VirtualMachineException(e);
}
- VirtualMachine vm;
+ VirtualMachine vm = null;
synchronized (sInstancesLock) {
Map<String, WeakReference<VirtualMachine>> instancesMap;
if (sInstances.containsKey(context)) {
@@ -285,7 +285,8 @@
if (instancesMap.containsKey(name)) {
vm = instancesMap.get(name).get();
- } else {
+ }
+ if (vm == null) {
vm = new VirtualMachine(context, name, config);
instancesMap.put(name, new WeakReference<>(vm));
}