Commit 35ab562a3b610878146d94fb64ee5e200cd55f77

Authored by Ji Luo
1 parent 5b339f5614

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>

Showing 1 changed file with 4 additions and 22 deletions Side-by-side Diff

lib/avb/fsl/fsl_bootctrl.c
... ... @@ -888,10 +888,9 @@
888 888 AvbOps* ops = ab_ops->ops;
889 889 AvbSlotVerifyData* slot_data = NULL;
890 890 AvbSlotVerifyData* data = NULL;
891   - AvbABFlowResult ret;
  891 + AvbABFlowResult ret = 0;
892 892 struct bootloader_control ab_data, ab_data_orig;
893 893 AvbIOResult io_ret;
894   - bool saw_and_allowed_verification_error = false;
895 894 AvbSlotVerifyResult verify_result;
896 895 bool set_slot_unbootable = false;
897 896 int target_slot, n;
... ... @@ -960,8 +959,7 @@
960 959 "AVB_SLOT_VERIFY_FLAGS_ALLOW_VERIFICATION_ERROR "
961 960 "is set.\n",
962 961 NULL);
963   - saw_and_allowed_verification_error =
964   - true;
  962 + ret = AVB_AB_FLOW_RESULT_OK_WITH_VERIFICATION_ERROR;
965 963 } else {
966 964 set_slot_unbootable = true;
967 965 }
... ... @@ -1040,13 +1038,6 @@
1040 1038 avb_assert(slot_data != NULL);
1041 1039 data = slot_data;
1042 1040 slot_data = NULL;
1043   - if (saw_and_allowed_verification_error) {
1044   - avb_assert(
1045   - flags & AVB_SLOT_VERIFY_FLAGS_ALLOW_VERIFICATION_ERROR);
1046   - ret = AVB_AB_FLOW_RESULT_OK_WITH_VERIFICATION_ERROR;
1047   - } else {
1048   - ret = AVB_AB_FLOW_RESULT_OK;
1049   - }
1050 1041  
1051 1042 out:
1052 1043 io_ret = fsl_save_metadata_if_changed(ab_ops, &ab_data, &ab_data_orig);
1053 1044  
... ... @@ -1212,11 +1203,10 @@
1212 1203 AvbOps* ops = ab_ops->ops;
1213 1204 AvbSlotVerifyData* slot_data[2] = {NULL, NULL};
1214 1205 AvbSlotVerifyData* data = NULL;
1215   - AvbABFlowResult ret;
  1206 + AvbABFlowResult ret = 0;
1216 1207 struct bootloader_control ab_data, ab_data_orig;
1217 1208 size_t slot_index_to_boot, n;
1218 1209 AvbIOResult io_ret;
1219   - bool saw_and_allowed_verification_error = false;
1220 1210 size_t target_slot;
1221 1211 AvbSlotVerifyResult verify_result;
1222 1212 bool set_slot_unbootable = false;
1223 1213  
... ... @@ -1285,9 +1275,8 @@
1285 1275 "AVB_SLOT_VERIFY_FLAGS_ALLOW_VERIFICATION_ERROR "
1286 1276 "is set.\n",
1287 1277 NULL);
1288   - saw_and_allowed_verification_error =
1289   - true;
1290 1278 slot_index_to_boot = target_slot;
  1279 + ret = AVB_AB_FLOW_RESULT_OK_WITH_VERIFICATION_ERROR;
1291 1280 n = 2;
1292 1281 } else {
1293 1282 set_slot_unbootable = true;
... ... @@ -1375,13 +1364,6 @@
1375 1364 avb_assert(slot_data[slot_index_to_boot] != NULL);
1376 1365 data = slot_data[slot_index_to_boot];
1377 1366 slot_data[slot_index_to_boot] = NULL;
1378   - if (saw_and_allowed_verification_error) {
1379   - avb_assert(
1380   - flags & AVB_SLOT_VERIFY_FLAGS_ALLOW_VERIFICATION_ERROR);
1381   - ret = AVB_AB_FLOW_RESULT_OK_WITH_VERIFICATION_ERROR;
1382   - } else {
1383   - ret = AVB_AB_FLOW_RESULT_OK;
1384   - }
1385 1367  
1386 1368 /* ... and decrement tries remaining, if applicable. */
1387 1369 if (!ab_data.slot_info[slot_index_to_boot].successful_boot &&