Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2888e907 authored by Jeff Tinker's avatar Jeff Tinker
Browse files

Revert "Fix Crash when sending null in HashMap to getKeyRequest"

This reverts commit 5bec0266.

Change-Id: I78c2f04be03dbdf8da6ea1e1f600c7c12668e433
parent 5bec0266
Loading
Loading
Loading
Loading
+4 −14
Original line number Diff line number Diff line
@@ -438,7 +438,7 @@ static String8 JStringToString8(JNIEnv *env, jstring const &jstr) {
    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 @@ static KeyedVector<String8, String8> HashMapToKeyedVector(JNIEnv *env, jobject &
                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 @@ static jobject android_media_MediaDrm_getKeyRequest(

    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;