From 7f4dc7e3cefa9f15dd3ebfeb90634e34a11f1fdb Mon Sep 17 00:00:00 2001 From: chaviw Date: Tue, 11 Sep 2018 13:59:30 -0700 Subject: Check return value in screencap in case of failure. Check the results for an error when generating a screencap so invalid data is not returned as the captured image. Test: screencap works Change-Id: I377c11c1e07cd04a6b3882ac20d7be9d6ddb25c5 Fixes: 80106675 --- cmds/screencap/screencap.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'cmds/screencap/screencap.cpp') diff --git a/cmds/screencap/screencap.cpp b/cmds/screencap/screencap.cpp index b11e84322dde..e14f2eb41816 100644 --- a/cmds/screencap/screencap.cpp +++ b/cmds/screencap/screencap.cpp @@ -207,7 +207,14 @@ int main(int argc, char** argv) result = outBuffer->lock(GraphicBuffer::USAGE_SW_READ_OFTEN, &base); - if (base == NULL) { + if (base == nullptr || result != NO_ERROR) { + String8 reason; + if (base == nullptr) { + reason = "Failed to write to buffer"; + } else { + reason.appendFormat("Error Code: %d", result); + } + fprintf(stderr, "Failed to take screenshot (%s)\n", reason.c_str()); close(fd); return 1; } -- cgit v1.2.3-59-g8ed1b