summaryrefslogtreecommitdiff
path: root/cmds/screencap
diff options
context:
space:
mode:
authorchaviw <chaviw@google.com>2018-09-11 13:59:30 -0700
committerchaviw <chaviw@google.com>2018-09-12 16:35:23 -0700
commit7f4dc7e3cefa9f15dd3ebfeb90634e34a11f1fdb (patch)
tree17e0f34df7b882074fff97aa980af0f95dadfa35 /cmds/screencap
parent47c69efe8bf3fcf69ad19befcf09b4c8627a8c87 (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')
-rw-r--r--cmds/screencap/screencap.cpp9
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;
}