
From: James Kosin jkosin@intcomgrp.com
The post.c code is missing braces around the pass case, and as a result, the diagnostic function will post both fail and pass for a failed test. The reason for this bug is probably the incorrect indentation used, so when reading the code it seems like there are proper braces.
Indent the code to the correct depth and put proper braces around the "else" branch of the "if" statement.
Signed-off-by: James Kosin jkosin@intcomgrp.com Signed-off-by: Mike Frysinger vapier@gentoo.org --- post/post.c | 24 ++++++++++++------------ 1 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/post/post.c b/post/post.c index 7660224..852d6a5 100644 --- a/post/post.c +++ b/post/post.c @@ -293,18 +293,18 @@ static int post_run_single (struct post_test *test, gd->flags |= GD_FLG_POSTSTOP; } } else { - if ((*test->test) (flags) != 0) { - post_log ("FAILED\n"); - show_boot_progress (-32); - show_post_progress(i, POST_AFTER, POST_FAILED); - if (test_flags & POST_CRITICAL) - gd->flags |= GD_FLG_POSTFAIL; - if (test_flags & POST_STOP) - gd->flags |= GD_FLG_POSTSTOP; - } - else - post_log ("PASSED\n"); - show_post_progress(i, POST_AFTER, POST_PASSED); + if ((*test->test)(flags) != 0) { + post_log("FAILED\n"); + show_boot_progress(-32); + show_post_progress(i, POST_AFTER, POST_FAILED); + if (test_flags & POST_CRITICAL) + gd->flags |= GD_FLG_POSTFAIL; + if (test_flags & POST_STOP) + gd->flags |= GD_FLG_POSTSTOP; + } else { + post_log("PASSED\n"); + show_post_progress(i, POST_AFTER, POST_PASSED); + } }
if ((test_flags & POST_REBOOT) && !(flags & POST_MANUAL)) {