Bullet-proof dvmFreeClassInnards from unexpected or NULL descriptor.
Change-Id: I1641dcedf502ce5936c5f9c07206401ddcbcf999
diff --git a/vm/oo/Class.c b/vm/oo/Class.c
index cbb3d8f..25a796d 100644
--- a/vm/oo/Class.c
+++ b/vm/oo/Class.c
@@ -1955,11 +1955,9 @@
} while (0)
/* arrays just point at Object's vtable; don't free vtable in this case.
- * dvmIsArrayClass() checks clazz->descriptor, so we have to do this check
- * before freeing the name.
*/
clazz->vtableCount = -1;
- if (dvmIsArrayClass(clazz)) {
+ if (clazz->vtable == gDvm.classJavaLangObject->vtable) {
clazz->vtable = NULL;
} else {
NULL_AND_LINEAR_FREE(clazz->vtable);