fix: free 'allocated_entry' to avoid memory leaks

Before memory_region = allocated_entry, when api_ffa_mem_send
return or goto out, allocated_entry shoule be freed, which has
been successfully alloced.

Change-Id: Ifebb5018c21650c31e2259516c9d59cb48899737
Signed-off-by: leisen <leisen1@huawei.com>
Signed-off-by: J-Alves <joao.alves@arm.com>
diff --git a/src/api.c b/src/api.c
index 23a2d52..e09bfac 100644
--- a/src/api.c
+++ b/src/api.c
@@ -3494,13 +3494,15 @@
 		dlog_verbose("Failed to allocate memory region copy.\n");
 		return ffa_error(FFA_NO_MEMORY);
 	}
+	memory_region = allocated_entry;
 
 	if (!memcpy_trapped(allocated_entry, MM_PPOOL_ENTRY_SIZE, from_msg,
 			    fragment_length)) {
 		dlog_error(
 			"%s: Failed to copy FF-A memory region descriptor.\n",
 			__func__);
-		return ffa_error(FFA_ABORTED);
+		ret = ffa_error(FFA_ABORTED);
+		goto out;
 	}
 
 	if (!ffa_memory_region_sanity_check(allocated_entry, ffa_version,
@@ -3515,8 +3517,6 @@
 		goto out;
 	}
 
-	memory_region = allocated_entry;
-
 	if (fragment_length < sizeof(struct ffa_memory_region) +
 				      memory_region->memory_access_desc_size) {
 		dlog_verbose(