tf_fuzz: Minor improvements/fixes in TF-Fuzz
Problems corrected related to failing to deallocate resources
created over the course of a test, and to incorrect accounting for
variables when using statement-level randomization (i.e., the <n>
to <m> of {} and shuffle options). Also removed several inter-
mediate files that should not have commited in the first place.
Change-Id: I0582cbfddb70563a071fee0cb9aaf2547876d051
diff --git a/tf_fuzz/utility/compute.o b/tf_fuzz/utility/compute.o
deleted file mode 100644
index ee4e580..0000000
--- a/tf_fuzz/utility/compute.o
+++ /dev/null
Binary files differ
diff --git a/tf_fuzz/utility/data_blocks.hpp b/tf_fuzz/utility/data_blocks.hpp
index f4628a5..bee4594 100644
--- a/tf_fuzz/utility/data_blocks.hpp
+++ b/tf_fuzz/utility/data_blocks.hpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2019-2020, Arm Limited. All rights reserved.
+ * Copyright (c) 2019-2022, Arm Limited. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*
@@ -137,6 +137,10 @@
vector<string> asset_name_vector;
vector<int> asset_id_n_vector;
long asset_ser_no; // unique ID for psa asset needed to find data string
+ /* Note: The original theory is that we can't save away iterators to
+ assets, because STL vectors could get relocated. However,
+ we've switched over to lists, which don't get moved around, so
+ we should be safe now. */
asset_search how_asset_found;
uint64_t id_n; // asset ID# (e.g., SST UID).
/* Note: This is just a holder to pass ID from template-line to call. The
diff --git a/tf_fuzz/utility/data_blocks.o b/tf_fuzz/utility/data_blocks.o
deleted file mode 100644
index 58a37a9..0000000
--- a/tf_fuzz/utility/data_blocks.o
+++ /dev/null
Binary files differ
diff --git a/tf_fuzz/utility/find_or_create_asset.hpp b/tf_fuzz/utility/find_or_create_asset.hpp
index 3daf37c..c2e7853 100644
--- a/tf_fuzz/utility/find_or_create_asset.hpp
+++ b/tf_fuzz/utility/find_or_create_asset.hpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2019-2020, Arm Limited. All rights reserved.
+ * Copyright (c) 2019-2022, Arm Limited. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*
@@ -25,7 +25,7 @@
enum class psa_asset_usage // one particular area or all
{ active, // found as an actively-used asset
deleted, // found as a previously-used, but now-unusable asset
- invalid, // (invalid assets aren't completely defined yet)
+ invalid, // found as a previously-used, but now-unusable asset
all, // if not found and if not allowed to create it
none // just create it
};
diff --git a/tf_fuzz/utility/gibberish.cpp b/tf_fuzz/utility/gibberish.cpp
index 58a3f8f..6de56f0 100644
--- a/tf_fuzz/utility/gibberish.cpp
+++ b/tf_fuzz/utility/gibberish.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2019-2020, Arm Limited. All rights reserved.
+ * Copyright (c) 2019-2022, Arm Limited. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*
@@ -189,7 +189,7 @@
gibberish::gibberish (void)
{
string holder;
-
+
for (int i = 0; i < n_avoids; i++) {
holder = avoid[i];
for (long unsigned int j = 0; j < holder.length(); j++) {
diff --git a/tf_fuzz/utility/gibberish.o b/tf_fuzz/utility/gibberish.o
deleted file mode 100644
index b5d4038..0000000
--- a/tf_fuzz/utility/gibberish.o
+++ /dev/null
Binary files differ
diff --git a/tf_fuzz/utility/randomization.cpp b/tf_fuzz/utility/randomization.cpp
index 23eb7d2..ad8ecbc 100644
--- a/tf_fuzz/utility/randomization.cpp
+++ b/tf_fuzz/utility/randomization.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2019-2020, Arm Limited. All rights reserved.
+ * Copyright (c) 2019-2022, Arm Limited. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*
@@ -46,7 +46,7 @@
asymmetric, symmetric... */
string rand_key_algorithm (void)
{
- switch (rand() % 44) {
+ switch (rand() % 47) {
case 0: return "PSA_ALG_VENDOR_FLAG";
case 1: return "PSA_ALG_CATEGORY_MASK";
case 2: return "PSA_ALG_CATEGORY_HASH";
@@ -57,40 +57,43 @@
case 7: return "PSA_ALG_CATEGORY_ASYMMETRIC_ENCRYPTION";
case 8: return "PSA_ALG_CATEGORY_KEY_AGREEMENT";
case 9: return "PSA_ALG_CATEGORY_KEY_DERIVATION";
- case 10: return "PSA_ALG_HASH_MASK";
- case 11: return "PSA_ALG_MD2";
- case 12: return "PSA_ALG_MD4";
- case 13: return "PSA_ALG_MD5";
- case 14: return "PSA_ALG_RIPEMD160";
- case 15: return "PSA_ALG_SHA_1";
- case 16: return "PSA_ALG_SHA_224";
- case 17: return "PSA_ALG_SHA_256";
- case 18: return "PSA_ALG_SHA_384";
- case 19: return "PSA_ALG_SHA_512";
- case 20: return "PSA_ALG_SHA_512_224";
- case 21: return "PSA_ALG_SHA_512_256";
- case 22: return "PSA_ALG_SHA3_224";
- case 23: return "PSA_ALG_SHA3_256";
- case 24: return "PSA_ALG_SHA3_384";
- case 25: return "PSA_ALG_SHA3_512";
- case 26: return "PSA_ALG_ANY_HASH";
- case 27: return "PSA_ALG_MAC_SUBCATEGORY_MASK";
- case 28: return "PSA_ALG_HMAC_BASE";
- case 29: return "PSA_ALG_MAC_TRUNCATION_MASK";
- case 30: return "PSA_ALG_CIPHER_MAC_BASE";
- case 31: return "PSA_ALG_CBC_MAC";
- case 32: return "PSA_ALG_CMAC";
- case 33: return "PSA_ALG_CIPHER_STREAM_FLAG";
- case 34: return "PSA_ALG_CIPHER_FROM_BLOCK_FLAG";
- case 35: return "PSA_ALG_ARC4";
- case 36: return "PSA_ALG_CTR";
- case 37: return "PSA_ALG_CFB";
- case 38: return "PSA_ALG_OFB";
- case 39: return "PSA_ALG_XTS";
- case 40: return "PSA_ALG_CBC_NO_PADDING";
- case 41: return "PSA_ALG_CBC_PKCS7";
- case 42: return "PSA_ALG_CCM";
- case 43: return "PSA_ALG_GCM";
+ case 10: return "PSA_ALG_CATEGORY_KEY_SELECTION";
+ case 11: return "PSA_ALG_KEY_SELECTION_FLAG";
+ case 12: return "PSA_ALG_HASH_MASK";
+ case 13: return "PSA_ALG_MD2";
+ case 14: return "PSA_ALG_MD4";
+ case 15: return "PSA_ALG_MD5";
+ case 16: return "PSA_ALG_RIPEMD160";
+ case 17: return "PSA_ALG_SHA_1";
+ case 18: return "PSA_ALG_SHA_224";
+ case 19: return "PSA_ALG_SHA_256";
+ case 20: return "PSA_ALG_SHA_384";
+ case 21: return "PSA_ALG_SHA_512";
+ case 22: return "PSA_ALG_SHA_512_224";
+ case 23: return "PSA_ALG_SHA_512_256";
+ case 24: return "PSA_ALG_SHA3_224";
+ case 25: return "PSA_ALG_SHA3_256";
+ case 26: return "PSA_ALG_SHA3_384";
+ case 27: return "PSA_ALG_SHA3_512";
+ case 28: return "PSA_ALG_ANY_HASH";
+ case 29: return "PSA_ALG_MAC_SUBCATEGORY_MASK";
+ case 30: return "PSA_ALG_HMAC_BASE";
+ case 31: return "PSA_ALG_MAC_TRUNCATION_MASK";
+ case 32: return "PSA_ALG_CIPHER_MAC_BASE";
+ case 33: return "PSA_ALG_CBC_MAC";
+ case 34: return "PSA_ALG_CMAC";
+ case 35: return "PSA_ALG_GMAC";
+ case 36: return "PSA_ALG_CIPHER_STREAM_FLAG";
+ case 37: return "PSA_ALG_CIPHER_FROM_BLOCK_FLAG";
+ case 38: return "PSA_ALG_ARC4";
+ case 39: return "PSA_ALG_CTR";
+ case 40: return "PSA_ALG_CFB";
+ case 41: return "PSA_ALG_OFB";
+ case 42: return "PSA_ALG_XTS";
+ case 43: return "PSA_ALG_CBC_NO_PADDING";
+ case 44: return "PSA_ALG_CBC_PKCS7";
+ case 45: return "PSA_ALG_CCM";
+ case 46: return "PSA_ALG_GCM";
}
return ""; /* placate compiler */
}
@@ -106,7 +109,7 @@
*/
string rand_key_type (void)
{
- switch (rand() % 24) {
+ switch (rand() % 22) {
case 0: return "PSA_KEY_TYPE_NONE";
case 1: return "PSA_KEY_TYPE_VENDOR_FLAG";
case 2: return "PSA_KEY_TYPE_CATEGORY_MASK";
@@ -122,19 +125,15 @@
case 12: return "PSA_KEY_TYPE_DES";
case 13: return "PSA_KEY_TYPE_CAMELLIA";
case 14: return "PSA_KEY_TYPE_ARC4";
- case 15: return "PSA_KEY_TYPE_CHACHA20";
- case 16: return "PSA_KEY_TYPE_RSA_PUBLIC_KEY";
- case 17: return "PSA_KEY_TYPE_RSA_KEY_PAIR";
- case 18: return "PSA_KEY_TYPE_ECC_PUBLIC_KEY_BASE";
- case 19: return "PSA_KEY_TYPE_ECC_KEY_PAIR_BASE";
- case 20: return "PSA_KEY_TYPE_ECC_CURVE_MASK";
- case 21: return "PSA_KEY_TYPE_DH_PUBLIC_KEY_BASE";
- case 22: return "PSA_KEY_TYPE_DH_KEY_PAIR_BASE";
- case 23: return "PSA_KEY_TYPE_DH_GROUP_MASK";
+ case 15: return "PSA_KEY_TYPE_RSA_PUBLIC_KEY";
+ case 16: return "PSA_KEY_TYPE_RSA_KEYPAIR";
+ case 17: return "PSA_KEY_TYPE_DSA_PUBLIC_KEY";
+ case 18: return "PSA_KEY_TYPE_DSA_KEYPAIR";
+ case 19: return "PSA_KEY_TYPE_ECC_PUBLIC_KEY_BASE";
+ case 20: return "PSA_KEY_TYPE_ECC_KEYPAIR_BASE";
+ case 21: return "PSA_KEY_TYPE_ECC_CURVE_MASK";
default: return "";
}
return ""; /* placate compiler */
}
-
-
diff --git a/tf_fuzz/utility/randomization.o b/tf_fuzz/utility/randomization.o
deleted file mode 100644
index 1d19db9..0000000
--- a/tf_fuzz/utility/randomization.o
+++ /dev/null
Binary files differ
diff --git a/tf_fuzz/utility/string_ops.o b/tf_fuzz/utility/string_ops.o
deleted file mode 100644
index 5f3d9ac..0000000
--- a/tf_fuzz/utility/string_ops.o
+++ /dev/null
Binary files differ
diff --git a/tf_fuzz/utility/variables.o b/tf_fuzz/utility/variables.o
deleted file mode 100644
index bc7772a..0000000
--- a/tf_fuzz/utility/variables.o
+++ /dev/null
Binary files differ