diff options
author | Andrii Chepurnyi <andrii_chepurnyi@epam.com> | 2020-04-14 13:03:57 +0300 |
---|---|---|
committer | Andrii Chepurnyi <andrii_chepurnyi@epam.com> | 2020-04-14 17:48:49 +0300 |
commit | 8115dbe61c1de406d67786e47bc24fd519547fc5 (patch) | |
tree | b74f424689b0a2e2aea51ca2ba49fb211056ed53 | |
parent | ff730f9b4b9a251782dc6808ea32c1ecf3cdb459 (diff) |
drm_hwcomposer: Fix GetDisplayIdentificationData
Fix GetDisplayIdentificationData, introduced
by commit: b3d817815fad.
Edid data should be copied instead of assign.
Signed-off-by: Andrii Chepurnyi <andrii_chepurnyi@epam.com>
-rw-r--r-- | drmhwctwo.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/drmhwctwo.cpp b/drmhwctwo.cpp index 605406b..798e013 100644 --- a/drmhwctwo.cpp +++ b/drmhwctwo.cpp @@ -997,10 +997,13 @@ HWC2::Error DrmHwcTwo::HwcDisplay::GetDisplayIdentificationData( blob = drmModeGetPropertyBlob(drm_->fd(), blob_id); - outData = static_cast<uint8_t *>(blob->data); - + if (outData) { + *outDataSize = std::min(*outDataSize, blob->length); + memcpy(outData, blob->data, *outDataSize); + } else { + *outDataSize = blob->length; + } *outPort = connector_->id(); - *outDataSize = blob->length; return HWC2::Error::None; } |