summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Deymo <deymo@chromium.org>2015-02-21 01:10:30 -0800
committerChromeOS Commit Bot <chromeos-commit-bot@chromium.org>2015-02-23 20:02:49 +0000
commit3fec0e47bd618296c03df027990114c221ac645b (patch)
treeedee943ef5b0bdab451a2122c4522c3d49c218f4
parent317bb498a697ae49f070e3ca46100b879f25aa1b (diff)
downloadvboot-3fec0e47bd618296c03df027990114c221ac645b.tar.gz
cgpt_wrapper: Print error if execv() fails.
This shows an error message when cgpt.bin failed to run, with its reason. Without this patch, "cgpt" would just fail and return -1 in that case making it difficult to know the reason of the failure. BUG=chrome-os-partner:36061 TEST=replaced this binary in storm recovery initramfs 6699.0.0 and it shows the error message if cgpt.bin is not installed. BRANCH=None Change-Id: I3ffaba5a63c491ac7d5b16086d5ae21005f40317 Reviewed-on: https://chromium-review.googlesource.com/251868 Reviewed-by: Alex Deymo <deymo@chromium.org> Commit-Queue: Alex Deymo <deymo@chromium.org> Trybot-Ready: Alex Deymo <deymo@chromium.org> Tested-by: Alex Deymo <deymo@chromium.org>
-rw-r--r--cgpt/cgpt_wrapper.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/cgpt/cgpt_wrapper.c b/cgpt/cgpt_wrapper.c
index f9288c15..dcfaab9c 100644
--- a/cgpt/cgpt_wrapper.c
+++ b/cgpt/cgpt_wrapper.c
@@ -6,6 +6,7 @@
* device is an MTD device, this utility will read the GPT structures from
* FMAP, invokes "cgpt" on that, and writes the result back to NOR flash. */
+#include <err.h>
#include <errno.h>
#include <fcntl.h>
#include <inttypes.h>
@@ -171,5 +172,8 @@ int main(int argc, const char *argv[]) {
return -1;
}
argv[0] = real_cgpt;
- return execv(argv[0], (char * const *)argv);
+ if (execv(argv[0], (char * const *)argv) == -1) {
+ err(-2, "execv(%s) failed", real_cgpt);
+ }
+ return -2;
}