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