pdr: pldm_entity_association_pdr_extract(): Return early if necessary

Now that we're no longer mutating out-parameters unless we're
successful, return early if success is not possible.

Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
Change-Id: I6ed9b584d836ae879531f136f6125b90b6185920
diff --git a/src/pdr.c b/src/pdr.c
index 5f2634c..3442c0f 100644
--- a/src/pdr.c
+++ b/src/pdr.c
@@ -1297,6 +1297,9 @@
 
 	struct pldm_pdr_hdr *hdr = (struct pldm_pdr_hdr *)pdr;
 	assert(hdr->type == PLDM_PDR_ENTITY_ASSOCIATION);
+	if (hdr->type != PLDM_PDR_ENTITY_ASSOCIATION) {
+		return;
+	}
 
 	const uint8_t *start = (uint8_t *)pdr;
 	const uint8_t *end __attribute__((unused)) =
@@ -1306,11 +1309,22 @@
 		(struct pldm_pdr_entity_association *)start;
 	size_t l_num_entities = entity_association_pdr->num_children + 1;
 	assert(l_num_entities >= 2);
+	if (l_num_entities < 2) {
+		return;
+	}
 	assert(start + sizeof(struct pldm_pdr_entity_association) +
 		       sizeof(pldm_entity) * (l_num_entities - 2) ==
 	       end);
+	if (start + sizeof(struct pldm_pdr_entity_association) +
+		    sizeof(pldm_entity) * (l_num_entities - 2) !=
+	    end) {
+		return;
+	}
 	pldm_entity *l_entities = malloc(sizeof(pldm_entity) * l_num_entities);
 	assert(l_entities != NULL);
+	if (!l_entities) {
+		return;
+	}
 	l_entities[0].entity_type =
 		le16toh(entity_association_pdr->container.entity_type);
 	l_entities[0].entity_instance_num =