Add MAC0 handle checking code
diff --git a/test/mac_test.c b/test/mac_test.c
index afb28d2..db13215 100644
--- a/test/mac_test.c
+++ b/test/mac_test.c
@@ -385,3 +385,34 @@
return;
}
+
+void MAC0_Corners()
+{
+ HCOSE_ENCRYPT hEncrypt = NULL;
+ byte rgb[10];
+ cn_cbor * cn = cn_cbor_int_create(5, CBOR_CONTEXT_PARAM_COMMA NULL);
+
+ // Missing case - addref then release on item
+
+ // Invalid Handle checks
+
+ COSE_Mac0_Free((HCOSE_MAC0)hEncrypt);
+ COSE_Mac0_SetContent((HCOSE_MAC0)hEncrypt, rgb, 10, NULL);
+ COSE_Mac0_map_get_int((HCOSE_MAC0)hEncrypt, 1, COSE_BOTH, NULL);
+ COSE_Mac0_map_put_int((HCOSE_MAC0)hEncrypt, 1, cn, COSE_PROTECT_ONLY, NULL);
+ COSE_Mac0_encrypt((HCOSE_MAC0)hEncrypt, rgb, 10, NULL);
+ COSE_Mac0_validate((HCOSE_MAC0)hEncrypt, rgb, 10, NULL);
+
+ hEncrypt = COSE_Encrypt_Init(CBOR_CONTEXT_PARAM_COMMA NULL);
+
+ COSE_Mac0_Free((HCOSE_MAC0)hEncrypt);
+ COSE_Mac0_SetContent((HCOSE_MAC0)hEncrypt, rgb, 10, NULL);
+ COSE_Mac0_map_get_int((HCOSE_MAC0)hEncrypt, 1, COSE_BOTH, NULL);
+ COSE_Mac0_map_put_int((HCOSE_MAC0)hEncrypt, 1, cn, COSE_PROTECT_ONLY, NULL);
+ COSE_Mac0_encrypt((HCOSE_MAC0)hEncrypt, rgb, 10, NULL);
+ COSE_Mac0_validate((HCOSE_MAC0)hEncrypt, rgb, 10, NULL);
+
+ //
+
+ return;
+}
diff --git a/test/test.c b/test/test.c
index 78676a6..75e420c 100644
--- a/test/test.c
+++ b/test/test.c
@@ -420,6 +420,7 @@
{
Test_cn_cbor_array_replace();
MAC_Corners();
+ MAC0_Corners();
}
void RunMemoryTest(const char * szFileName)
diff --git a/test/test.h b/test/test.h
index e850439..87682b0 100644
--- a/test/test.h
+++ b/test/test.h
@@ -35,6 +35,7 @@
int ValidateMac0(const cn_cbor * pControl);
int BuildMac0Message(const cn_cbor * pControl);
void MAC_Corners();
+void MAC0_Corners();
#ifdef USE_CBOR_CONTEXT
// context.c