diff options
author | Alex Deymo <deymo@chromium.org> | 2015-02-21 01:10:30 -0800 |
---|---|---|
committer | ChromeOS Commit Bot <chromeos-commit-bot@chromium.org> | 2015-02-23 20:02:49 +0000 |
commit | 3fec0e47bd618296c03df027990114c221ac645b (patch) | |
tree | edee943ef5b0bdab451a2122c4522c3d49c218f4 /cgpt | |
parent | 317bb498a697ae49f070e3ca46100b879f25aa1b (diff) | |
download | vboot-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>
Diffstat (limited to 'cgpt')
-rw-r--r-- | cgpt/cgpt_wrapper.c | 6 |
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; } |