diff options
| author | 2020-08-04 03:48:42 +0000 | |
|---|---|---|
| committer | 2020-08-04 03:48:42 +0000 | |
| commit | 7b0d02cd8ba88afa2442b15ba9b7a0bffd40d93a (patch) | |
| tree | b3c9393863d757b4044719e9767099bdb026a3f6 | |
| parent | 22e00e02815024571161bbbdf3644355d2f93b3a (diff) | |
| parent | df82804342c7dd7545344f0ece8b253cf56bbb43 (diff) | |
Merge "Tuner JNI: Correct memcpy of C2DataIdInfo"
| -rw-r--r-- | media/jni/android_media_tv_Tuner.cpp | 5 | ||||
| -rw-r--r-- | media/jni/android_media_tv_Tuner.h | 5 |
2 files changed, 6 insertions, 4 deletions
diff --git a/media/jni/android_media_tv_Tuner.cpp b/media/jni/android_media_tv_Tuner.cpp index 3cd40818ae2a..5770c6797404 100644 --- a/media/jni/android_media_tv_Tuner.cpp +++ b/media/jni/android_media_tv_Tuner.cpp @@ -291,8 +291,9 @@ MQ& Dvr::getDvrMQ() { C2DataIdInfo::C2DataIdInfo(uint32_t index, uint64_t value) : C2Param(kParamSize, index) { CHECK(isGlobal()); CHECK_EQ(C2Param::INFO, kind()); - DummyInfo info{value}; - memcpy(this + 1, static_cast<C2Param *>(&info) + 1, kParamSize - sizeof(C2Param)); + mInfo = StubInfo(value); + memcpy(static_cast<C2Param *>(this) + 1, static_cast<C2Param *>(&mInfo) + 1, + kParamSize - sizeof(C2Param)); } /////////////// MediaEvent /////////////////////// diff --git a/media/jni/android_media_tv_Tuner.h b/media/jni/android_media_tv_Tuner.h index 83e9db796363..fd2995917475 100644 --- a/media/jni/android_media_tv_Tuner.h +++ b/media/jni/android_media_tv_Tuner.h @@ -250,8 +250,9 @@ class C2DataIdInfo : public C2Param { public: C2DataIdInfo(uint32_t index, uint64_t value); private: - typedef C2GlobalParam<C2Info, C2Int64Value, 0> DummyInfo; - static const size_t kParamSize = sizeof(DummyInfo); + typedef C2GlobalParam<C2Info, C2Int64Value, 0> StubInfo; + StubInfo mInfo; + static const size_t kParamSize = sizeof(StubInfo); }; } // namespace android |