From 3fec0e47bd618296c03df027990114c221ac645b Mon Sep 17 00:00:00 2001 From: Alex Deymo Date: Sat, 21 Feb 2015 01:10:30 -0800 Subject: 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 Commit-Queue: Alex Deymo Trybot-Ready: Alex Deymo Tested-by: Alex Deymo --- cgpt/cgpt_wrapper.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'cgpt/cgpt_wrapper.c') 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 #include #include #include @@ -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; } -- cgit v1.2.3