Include full vbmeta digest on the kernel cmdline. am: 88b13e12a0 am: 0153ac4383
am: dfc9830e93
Change-Id: Ic8a3e02bda5bc7214fabac29ba4e2f0d16bdf5f9
diff --git a/libavb/avb_slot_verify.c b/libavb/avb_slot_verify.c
index dec65a4..5fa6502 100644
--- a/libavb/avb_slot_verify.c
+++ b/libavb/avb_slot_verify.c
@@ -635,7 +635,7 @@
hex_data[n * 2] = hex_digits[data[n] >> 4];
hex_data[n * 2 + 1] = hex_digits[data[n] & 0x0f];
}
- hex_data[n] = '\0';
+ hex_data[n * 2] = '\0';
ret = cmdline_append_option(slot_data, key, hex_data);
avb_free(hex_data);
diff --git a/test/avb_slot_verify_unittest.cc b/test/avb_slot_verify_unittest.cc
index 2f1c8fd..accf00a 100644
--- a/test/avb_slot_verify_unittest.cc
+++ b/test/avb_slot_verify_unittest.cc
@@ -59,7 +59,8 @@
EXPECT_EQ(
"androidboot.slot_suffix=_a androidboot.vbmeta.device_state=locked "
"androidboot.vbmeta.hash_alg=sha256 androidboot.vbmeta.size=1408 "
- "androidboot.vbmeta.digest=22cda7342f5ba915f41662975f96f081",
+ "androidboot.vbmeta.digest="
+ "22cda7342f5ba915f41662975f96f0810ba097399d9d4d4d3847f59c1fe8dfc9",
std::string(slot_data->cmdline));
avb_slot_verify_data_free(slot_data);
}
@@ -79,7 +80,8 @@
"androidboot.slot_suffix=_a androidboot.vbmeta.device_state=locked "
"androidboot.vbmeta.hash_alg=sha512 androidboot.vbmeta.size=1472 "
"androidboot.vbmeta.digest="
- "125592a19a266efe6683de1afee53e2585ccfcf33adb5d6485e6fbfeabccf571",
+ "125592a19a266efe6683de1afee53e2585ccfcf33adb5d6485e6fbfeabccf57134aa8365"
+ "aa949a5c6b253bf34956b80e304b7668ee599d207047c8d1bf9574d9",
std::string(slot_data->cmdline));
avb_slot_verify_data_free(slot_data);
}
@@ -100,7 +102,8 @@
EXPECT_EQ(
"androidboot.slot_suffix=_a androidboot.vbmeta.device_state=unlocked "
"androidboot.vbmeta.hash_alg=sha256 androidboot.vbmeta.size=1408 "
- "androidboot.vbmeta.digest=22cda7342f5ba915f41662975f96f081",
+ "androidboot.vbmeta.digest="
+ "22cda7342f5ba915f41662975f96f0810ba097399d9d4d4d3847f59c1fe8dfc9",
std::string(slot_data->cmdline));
avb_slot_verify_data_free(slot_data);
}
@@ -259,7 +262,8 @@
"androidboot.slot_suffix=_a "
"androidboot.vbmeta.device_state=locked "
"androidboot.vbmeta.hash_alg=sha256 androidboot.vbmeta.size=1600 "
- "androidboot.vbmeta.digest=844308149e43d5db7b14cd5747def40a",
+ "androidboot.vbmeta.digest="
+ "844308149e43d5db7b14cd5747def40aadf2f0e4716d6435242f90aac9d883d6",
std::string(slot_data->cmdline));
EXPECT_EQ(4UL, slot_data->rollback_indexes[0]);
for (size_t n = 1; n < AVB_MAX_NUMBER_OF_ROLLBACK_INDEX_SLOTS; n++) {
@@ -383,7 +387,8 @@
"androidboot.slot_suffix=_a "
"androidboot.vbmeta.device_state=locked "
"androidboot.vbmeta.hash_alg=sha256 androidboot.vbmeta.size=2496 "
- "androidboot.vbmeta.digest=3924a4e4cdf9a4e6e77b0d87e6e9b464",
+ "androidboot.vbmeta.digest="
+ "3924a4e4cdf9a4e6e77b0d87e6e9b4648621e43c2a20988a86c1eb9a56bef338",
std::string(slot_data->cmdline));
EXPECT_EQ(11UL, slot_data->rollback_indexes[0]);
EXPECT_EQ(12UL, slot_data->rollback_indexes[1]);
@@ -602,7 +607,8 @@
"cmdline2 in hash footer cmdline2 in vbmeta "
"androidboot.vbmeta.device_state=locked "
"androidboot.vbmeta.hash_alg=sha256 androidboot.vbmeta.size=2496 "
- "androidboot.vbmeta.digest=3924a4e4cdf9a4e6e77b0d87e6e9b464",
+ "androidboot.vbmeta.digest="
+ "3924a4e4cdf9a4e6e77b0d87e6e9b4648621e43c2a20988a86c1eb9a56bef338",
std::string(slot_data->cmdline));
EXPECT_EQ(11UL, slot_data->rollback_indexes[0]);
EXPECT_EQ(12UL, slot_data->rollback_indexes[1]);