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

Commit 551bb75a authored by Marco Nelissen's avatar Marco Nelissen Committed by Android Git Automerger
Browse files

am c0048178: Merge "Avoid invalid memory access when using extractMetadata()"

* commit 'c0048178':
  Avoid invalid memory access when using extractMetadata()
parents 5324bb28 1a76084d
Loading
Loading
Loading
Loading
+16 −1
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@
#include <binder/Parcel.h>
#include <media/IMediaMetadataRetriever.h>
#include <utils/String8.h>
#include <utils/KeyedVector.h>

// The binder is supposed to propagate the scheduler group across
// the binder interface so that remote calls are executed with
@@ -161,8 +162,22 @@ public:
        if (ret != NO_ERROR) {
            return NULL;
        }
        return reply.readCString();
        const char* str = reply.readCString();
        if (str != NULL) {
            String8 value(str);
            if (mMetadata.indexOfKey(keyCode) < 0) {
                mMetadata.add(keyCode, value);
            } else {
                mMetadata.replaceValueFor(keyCode, value);
            }
            return mMetadata.valueFor(keyCode).string();
        } else {
            return NULL;
        }
    }

private:
    KeyedVector<int, String8> mMetadata;
};

IMPLEMENT_META_INTERFACE(MediaMetadataRetriever, "android.media.IMediaMetadataRetriever");