Revert "Fix Crash when sending null in HashMap to getKeyRequest"
This reverts commit 5bec0266358f28a91b38f8aefbcb918219aa4ce9.
Change-Id: I78c2f04be03dbdf8da6ea1e1f600c7c12668e433
diff --git a/media/jni/android_media_MediaDrm.cpp b/media/jni/android_media_MediaDrm.cpp
index 2f3c7c9..d9de7a9 100644
--- a/media/jni/android_media_MediaDrm.cpp
+++ b/media/jni/android_media_MediaDrm.cpp
@@ -438,7 +438,7 @@
Entry e = s.next();
*/
-static KeyedVector<String8, String8> HashMapToKeyedVector(JNIEnv *env, jobject &hashMap, bool *pIsOK) {
+static KeyedVector<String8, String8> HashMapToKeyedVector(JNIEnv *env, jobject &hashMap) {
jclass clazz = gFields.stringClassId;
KeyedVector<String8, String8> keyedVector;
@@ -451,22 +451,16 @@
jobject entry = env->CallObjectMethod(iterator, gFields.iterator.next);
if (entry) {
jobject obj = env->CallObjectMethod(entry, gFields.entry.getKey);
- if (obj == NULL || !env->IsInstanceOf(obj, clazz)) {
+ if (!env->IsInstanceOf(obj, clazz)) {
jniThrowException(env, "java/lang/IllegalArgumentException",
"HashMap key is not a String");
- env->DeleteLocalRef(entry);
- *pIsOK = false;
- break;
}
jstring jkey = static_cast<jstring>(obj);
obj = env->CallObjectMethod(entry, gFields.entry.getValue);
- if (obj == NULL || !env->IsInstanceOf(obj, clazz)) {
+ if (!env->IsInstanceOf(obj, clazz)) {
jniThrowException(env, "java/lang/IllegalArgumentException",
"HashMap value is not a String");
- env->DeleteLocalRef(entry);
- *pIsOK = false;
- break;
}
jstring jvalue = static_cast<jstring>(obj);
@@ -769,11 +763,7 @@
KeyedVector<String8, String8> optParams;
if (joptParams != NULL) {
- bool isOK = true;
- optParams = HashMapToKeyedVector(env, joptParams, &isOK);
- if (!isOK) {
- return NULL;
- }
+ optParams = HashMapToKeyedVector(env, joptParams);
}
Vector<uint8_t> request;