drm_hwcomposer: reimplement Dump for DrmDisplayCompositor
Also fixes hwc_dump sometimes failing to null terminate its output buffer.
TEST=dumpsys SurfaceFlinger
Change-Id: Ibf93cfd496a07a9375d78a8b239c2c7876aff986
diff --git a/hwcomposer.cpp b/hwcomposer.cpp
index 6a0f4cd..ac7fdac 100644
--- a/hwcomposer.cpp
+++ b/hwcomposer.cpp
@@ -330,7 +330,9 @@
ctx->drm.compositor()->Dump(&out);
std::string out_str = out.str();
- strncpy(buff, out_str.c_str(), std::min((size_t)buff_len, out_str.length()));
+ strncpy(buff, out_str.c_str(),
+ std::min((size_t)buff_len, out_str.length() + 1));
+ buff[buff_len - 1] = '\0';
}
static int hwc_prepare(hwc_composer_device_1_t *dev, size_t num_displays,