diff options
author | Ji Luo <ji.luo@nxp.com> | 2020-12-17 14:03:06 +0800 |
---|---|---|
committer | Ji Luo <ji.luo@nxp.com> | 2020-12-22 20:26:12 +0800 |
commit | 35ab562a3b610878146d94fb64ee5e200cd55f77 (patch) | |
tree | a9b0a2ced99f3d3fbb66f8379c74f3b25b1276d9 /lib | |
parent | 5b339f5614b76a983f4aafd2b51af2948fa93415 (diff) |
LFU-15 Fix using uninitialized value
This commit fixes Coverity Issue: 11468195, avoid
uninitialized value using.
Test: AVB check.
Change-Id: I04eb8faafd6c9a9fec1aeae0b29edc6940251094
Signed-off-by: Ji Luo <ji.luo@nxp.com>
Diffstat (limited to 'lib')
-rwxr-xr-x | lib/avb/fsl/fsl_bootctrl.c | 26 |
1 files changed, 4 insertions, 22 deletions
diff --git a/lib/avb/fsl/fsl_bootctrl.c b/lib/avb/fsl/fsl_bootctrl.c index 38733cebb1..8afb41ff13 100755 --- a/lib/avb/fsl/fsl_bootctrl.c +++ b/lib/avb/fsl/fsl_bootctrl.c @@ -888,10 +888,9 @@ AvbABFlowResult avb_flow_dual_uboot(AvbABOps* ab_ops, AvbOps* ops = ab_ops->ops; AvbSlotVerifyData* slot_data = NULL; AvbSlotVerifyData* data = NULL; - AvbABFlowResult ret; + AvbABFlowResult ret = 0; struct bootloader_control ab_data, ab_data_orig; AvbIOResult io_ret; - bool saw_and_allowed_verification_error = false; AvbSlotVerifyResult verify_result; bool set_slot_unbootable = false; int target_slot, n; @@ -960,8 +959,7 @@ AvbABFlowResult avb_flow_dual_uboot(AvbABOps* ab_ops, "AVB_SLOT_VERIFY_FLAGS_ALLOW_VERIFICATION_ERROR " "is set.\n", NULL); - saw_and_allowed_verification_error = - true; + ret = AVB_AB_FLOW_RESULT_OK_WITH_VERIFICATION_ERROR; } else { set_slot_unbootable = true; } @@ -1040,13 +1038,6 @@ AvbABFlowResult avb_flow_dual_uboot(AvbABOps* ab_ops, avb_assert(slot_data != NULL); data = slot_data; slot_data = NULL; - if (saw_and_allowed_verification_error) { - avb_assert( - flags & AVB_SLOT_VERIFY_FLAGS_ALLOW_VERIFICATION_ERROR); - ret = AVB_AB_FLOW_RESULT_OK_WITH_VERIFICATION_ERROR; - } else { - ret = AVB_AB_FLOW_RESULT_OK; - } out: io_ret = fsl_save_metadata_if_changed(ab_ops, &ab_data, &ab_data_orig); @@ -1212,11 +1203,10 @@ AvbABFlowResult avb_ab_flow_fast(AvbABOps* ab_ops, AvbOps* ops = ab_ops->ops; AvbSlotVerifyData* slot_data[2] = {NULL, NULL}; AvbSlotVerifyData* data = NULL; - AvbABFlowResult ret; + AvbABFlowResult ret = 0; struct bootloader_control ab_data, ab_data_orig; size_t slot_index_to_boot, n; AvbIOResult io_ret; - bool saw_and_allowed_verification_error = false; size_t target_slot; AvbSlotVerifyResult verify_result; bool set_slot_unbootable = false; @@ -1285,9 +1275,8 @@ AvbABFlowResult avb_ab_flow_fast(AvbABOps* ab_ops, "AVB_SLOT_VERIFY_FLAGS_ALLOW_VERIFICATION_ERROR " "is set.\n", NULL); - saw_and_allowed_verification_error = - true; slot_index_to_boot = target_slot; + ret = AVB_AB_FLOW_RESULT_OK_WITH_VERIFICATION_ERROR; n = 2; } else { set_slot_unbootable = true; @@ -1375,13 +1364,6 @@ AvbABFlowResult avb_ab_flow_fast(AvbABOps* ab_ops, avb_assert(slot_data[slot_index_to_boot] != NULL); data = slot_data[slot_index_to_boot]; slot_data[slot_index_to_boot] = NULL; - if (saw_and_allowed_verification_error) { - avb_assert( - flags & AVB_SLOT_VERIFY_FLAGS_ALLOW_VERIFICATION_ERROR); - ret = AVB_AB_FLOW_RESULT_OK_WITH_VERIFICATION_ERROR; - } else { - ret = AVB_AB_FLOW_RESULT_OK; - } /* ... and decrement tries remaining, if applicable. */ if (!ab_data.slot_info[slot_index_to_boot].successful_boot && |