summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrii Chepurnyi <andrii_chepurnyi@epam.com>2020-04-14 13:03:57 +0300
committerAndrii Chepurnyi <andrii_chepurnyi@epam.com>2020-04-14 17:48:49 +0300
commit8115dbe61c1de406d67786e47bc24fd519547fc5 (patch)
treeb74f424689b0a2e2aea51ca2ba49fb211056ed53
parentff730f9b4b9a251782dc6808ea32c1ecf3cdb459 (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.cpp9
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;
}