KeyMint VTS: don't crash on invalid patchlevel

If vendor/boot patchlevel is shorter than the expected YYYYMMDD format,
fail properly rather than crashing the VTS test process.

Bug: 201946955
Test: VtsAidlKeyMintTargetTest
Change-Id: Icf3541e1b76675871672edec8590ec1821770acf
diff --git a/security/keymint/aidl/vts/functional/KeyMintAidlTestBase.cpp b/security/keymint/aidl/vts/functional/KeyMintAidlTestBase.cpp
index fb720e8..37acfa9 100644
--- a/security/keymint/aidl/vts/functional/KeyMintAidlTestBase.cpp
+++ b/security/keymint/aidl/vts/functional/KeyMintAidlTestBase.cpp
@@ -1365,11 +1365,16 @@
                 att_hw_enforced[i].tag == TAG_VENDOR_PATCHLEVEL) {
                 std::string date =
                         std::to_string(att_hw_enforced[i].value.get<KeyParameterValue::integer>());
+
                 // strptime seems to require delimiters, but the tag value will
                 // be YYYYMMDD
+                if (date.size() != 8) {
+                    ADD_FAILURE() << "Tag " << att_hw_enforced[i].tag
+                                  << " with invalid format (not YYYYMMDD): " << date;
+                    return false;
+                }
                 date.insert(6, "-");
                 date.insert(4, "-");
-                EXPECT_EQ(date.size(), 10);
                 struct tm time;
                 strptime(date.c_str(), "%Y-%m-%d", &time);