From 3ba089b4539564c5122ea96973e9ec4cf4f50020 Mon Sep 17 00:00:00 2001 From: Quallenauge Date: Sun, 22 Sep 2019 21:28:13 +0200 Subject: [PATCH] sdm660-common: libshims: Respect non-static member function calls. As stated in https://www.learncpp.com/cpp-tutorial/8-8-the-hidden-this-pointer/ member functions contains a hidden parameter (a pointer of the current reference of teh object, aka "this"). This way the code knows in which context the member function is called. We have to resprect that behavior into our shims which otherwise crashes or lead to memory corruption. Change-Id: I68197ebafde8773fd73d7dafb9b2f1bae92ee170 Signed-off-by: pix106 --- libshims/camera_sdm660_shim.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/libshims/camera_sdm660_shim.cpp b/libshims/camera_sdm660_shim.cpp index fa3eb7d1..4c7d1b41 100644 --- a/libshims/camera_sdm660_shim.cpp +++ b/libshims/camera_sdm660_shim.cpp @@ -1,10 +1,12 @@ #include namespace android { - extern "C" void _ZN7android13GraphicBuffer4lockEjPPvPiS3_(uint32_t inUsage, void** vaddr, int32_t* outBytesPerPixel, int32_t* outBytesPerStride); + extern "C" void _ZN7android13GraphicBuffer4lockEjPPvPiS3_(void* thisptr, uint32_t inUsage, + void** vaddr, int32_t* outBytesPerPixel, int32_t* outBytesPerStride); - extern "C" void _ZN7android13GraphicBuffer4lockEjPPv(uint32_t inUsage, void** vaddr) { - _ZN7android13GraphicBuffer4lockEjPPvPiS3_(inUsage, vaddr, nullptr, nullptr); + extern "C" void _ZN7android13GraphicBuffer4lockEjPPv(void* thisptr, uint32_t inUsage, + void** vaddr) { + _ZN7android13GraphicBuffer4lockEjPPvPiS3_(thisptr, inUsage, vaddr, nullptr, nullptr); } extern "C" void _ZN7android6Parcel17writeUint64VectorERKNSt3__16vectorIyNS1_9allocatorIyEEEE() { };