hwc: Fix dumpsys crash
In extreme cases, when all pipes are used, the buffer is insufficient.
Reduce logging by striping off unnecessary bytes.
Change-Id: I5a6ffb9ff288e389eea4e9ca4ac850ed59d539ff
diff --git a/liboverlay/overlay.cpp b/liboverlay/overlay.cpp
index 43b6589..3563cbc 100644
--- a/liboverlay/overlay.cpp
+++ b/liboverlay/overlay.cpp
@@ -285,19 +285,19 @@
void Overlay::getDump(char *buf, size_t len) {
int totalPipes = 0;
- const char *str = "\nOverlay State\n==========================\n";
+ const char *str = "\nOverlay State\n\n";
strncat(buf, str, strlen(str));
for(int i = 0; i < PipeBook::NUM_PIPES; i++) {
if(mPipeBook[i].valid()) {
mPipeBook[i].mPipe->getDump(buf, len);
char str[64] = {'\0'};
- snprintf(str, 64, "Attached to dpy=%d\n\n", mPipeBook[i].mDisplay);
+ snprintf(str, 64, "Display=%d\n\n", mPipeBook[i].mDisplay);
strncat(buf, str, strlen(str));
totalPipes++;
}
}
char str_pipes[64] = {'\0'};
- snprintf(str_pipes, 64, "Pipes used=%d\n\n", totalPipes);
+ snprintf(str_pipes, 64, "Pipes=%d\n\n", totalPipes);
strncat(buf, str_pipes, strlen(str_pipes));
}