diff options
| author | 2023-05-18 03:37:58 +0000 | |
|---|---|---|
| committer | 2023-05-18 03:37:58 +0000 | |
| commit | e1562f08c2cc0a36c4c4c3f2dfefac7632155bed (patch) | |
| tree | bbcab6a431f35e92cfde83f3a6be9c0f20061062 | |
| parent | 1a6b6fcadfe79c8fdea1213a741102be22b15d38 (diff) | |
| parent | de0a36107ba200765e2a50bcdc1d8297346cb089 (diff) | |
Merge "ultrahdr: fix input buffer access in tonemap" into udc-dev am: bb319326a6 am: de0a36107b
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/native/+/23288897
Change-Id: I71f25b4e5907cc779ea6194d8e66a1f7ffaae543
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
| -rw-r--r-- | libs/ultrahdr/jpegr.cpp | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/libs/ultrahdr/jpegr.cpp b/libs/ultrahdr/jpegr.cpp index ef927e3c56..cb8197c387 100644 --- a/libs/ultrahdr/jpegr.cpp +++ b/libs/ultrahdr/jpegr.cpp @@ -1041,21 +1041,18 @@ status_t JpegR::toneMap(jr_uncompressed_ptr src, jr_uncompressed_ptr dest) { return ERROR_JPEGR_INVALID_NULL_PTR; } - size_t src_luma_stride = src->luma_stride; - size_t src_chroma_stride = src->chroma_stride; uint16_t* src_luma_data = reinterpret_cast<uint16_t*>(src->data); - uint16_t* src_chroma_data = reinterpret_cast<uint16_t*>(src->chroma_data); + size_t src_luma_stride = src->luma_stride == 0 ? src->width : src->luma_stride; - if (src_chroma_data == nullptr) { - src_chroma_data = &reinterpret_cast<uint16_t*>(src->data)[src_luma_stride * src->height]; + uint16_t* src_chroma_data; + size_t src_chroma_stride; + if (src->chroma_data == nullptr) { + src_chroma_stride = src_luma_stride; + src_chroma_data = &reinterpret_cast<uint16_t*>(src->data)[src_luma_stride * src->height]; + } else { + src_chroma_stride = src->chroma_stride; + src_chroma_data = reinterpret_cast<uint16_t*>(src->chroma_data); } - if (src_luma_stride == 0) { - src_luma_stride = src->width; - } - if (src_chroma_stride == 0) { - src_chroma_stride = src_luma_stride; - } - dest->width = src->width; dest->height = src->height; |