platform: Test invalid heartbeat conditions after assignment
Putting the tests before the data extraction doesn't make any sense and
may lead to unpredictable behaviour.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
Change-Id: Ifb06e6cbe0c3d2003e768a5cda04409ef0bb503d
diff --git a/src/platform.c b/src/platform.c
index 69e2730..ef990bc 100644
--- a/src/platform.c
+++ b/src/platform.c
@@ -1969,17 +1969,17 @@
struct pldm_set_event_receiver_req *request =
(struct pldm_set_event_receiver_req *)msg->payload;
+ *event_message_global_enable = request->event_message_global_enable,
+ *transport_protocol_type = request->transport_protocol_type,
+ *event_receiver_address_info = request->event_receiver_address_info,
+ *heartbeat_timer = le16toh(request->heartbeat_timer);
+
if ((*event_message_global_enable ==
PLDM_EVENT_MESSAGE_GLOBAL_ENABLE_ASYNC_KEEP_ALIVE) &&
(*heartbeat_timer == 0)) {
return PLDM_ERROR_INVALID_DATA;
}
- *event_message_global_enable = request->event_message_global_enable,
- *transport_protocol_type = request->transport_protocol_type,
- *event_receiver_address_info = request->event_receiver_address_info,
- *heartbeat_timer = le16toh(request->heartbeat_timer);
-
return PLDM_SUCCESS;
}