Commit 35ab562a3b610878146d94fb64ee5e200cd55f77
1 parent
5b339f5614
Exists in
8qm-imx_v2020.04_5.4.70_2.3.0
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 && |