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

Commit df828043 authored by shubang's avatar shubang
Browse files

Tuner JNI: Correct memcpy of C2DataIdInfo

Bug: 162778666
Test: mannual test by MTK
Change-Id: Ic97717e5fc32d97837e218fe769087b5abece2cb
parent 96650db0
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -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 ///////////////////////
+3 −2
Original line number Diff line number Diff line
@@ -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