Merge change Iac175b4f

* changes:
  Two minor JNI fixes.
diff --git a/vm/CheckJni.c b/vm/CheckJni.c
index ff75770..ff0efd3 100644
--- a/vm/CheckJni.c
+++ b/vm/CheckJni.c
@@ -85,12 +85,13 @@
          *
          * Since we're returning an instance of declType, it's safe to
          * assume that it has been loaded and initialized (or, for the case
-         * of an array, generated), so we can just look for it in the
-         * loaded-classes list.
+         * of an array, generated).  However, the current class loader may
+         * not be listed as an initiating loader, so we can't just look for
+         * it in the loaded-classes list.
          */
         ClassObject* declClazz;
 
-        declClazz = dvmLookupClass(declType, method->clazz->classLoader, false);
+        declClazz = dvmFindClassNoInit(declType, method->clazz->classLoader);
         if (declClazz == NULL) {
             LOGW("JNI WARNING: method declared to return '%s' returned '%s'\n",
                 declType, objType);
diff --git a/vm/Jni.c b/vm/Jni.c
index 1029cdd..7b68195 100644
--- a/vm/Jni.c
+++ b/vm/Jni.c
@@ -3545,6 +3545,11 @@
     Object* platformAddress = NULL;
     JValue callResult;
     jobject result = NULL;
+    ClassObject* tmpClazz;
+
+    tmpClazz = gDvm.methOrgApacheHarmonyLuniPlatformPlatformAddress_on->clazz;
+    if (!dvmIsClassInitialized(tmpClazz) && !dvmInitClass(tmpClazz))
+        goto bail;
 
     /* get an instance of PlatformAddress that wraps the provided address */
     dvmCallMethod(self,
@@ -3559,10 +3564,10 @@
     LOGV("tracking %p for address=%p\n", platformAddress, address);
 
     /* create an instance of java.nio.ReadWriteDirectByteBuffer */
-    ClassObject* clazz = gDvm.classJavaNioReadWriteDirectByteBuffer;
-    if (!dvmIsClassInitialized(clazz) && !dvmInitClass(clazz))
+    tmpClazz = gDvm.classJavaNioReadWriteDirectByteBuffer;
+    if (!dvmIsClassInitialized(tmpClazz) && !dvmInitClass(tmpClazz))
         goto bail;
-    Object* newObj = dvmAllocObject(clazz, ALLOC_DONT_TRACK);
+    Object* newObj = dvmAllocObject(tmpClazz, ALLOC_DONT_TRACK);
     if (newObj != NULL) {
         /* call the (PlatformAddress, int, int) constructor */
         result = addLocalReference(env, newObj);