diff options
author | chaviw <chaviw@google.com> | 2018-09-11 13:59:30 -0700 |
---|---|---|
committer | chaviw <chaviw@google.com> | 2018-09-12 16:35:23 -0700 |
commit | 7f4dc7e3cefa9f15dd3ebfeb90634e34a11f1fdb (patch) | |
tree | 17e0f34df7b882074fff97aa980af0f95dadfa35 /cmds/screencap/screencap.cpp | |
parent | 47c69efe8bf3fcf69ad19befcf09b4c8627a8c87 (diff) |
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
Diffstat (limited to 'cmds/screencap/screencap.cpp')
-rw-r--r-- | cmds/screencap/screencap.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
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; } |