tests: platform: TEST(GetNumericEffecterValue, testGoodEncodeResponse) UB

Use memcpy() to avoid provoking alignment warnings by libubsan.

Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
Change-Id: I25ed47fb80bbb023a75708f54cf656c13b501e86
diff --git a/tests/libpldm_platform_test.cpp b/tests/libpldm_platform_test.cpp
index 975bd74..58242fb 100644
--- a/tests/libpldm_platform_test.cpp
+++ b/tests/libpldm_platform_test.cpp
@@ -1732,6 +1732,8 @@
     uint8_t effecter_operState = EFFECTER_OPER_STATE_ENABLED_NOUPDATEPENDING;
     uint32_t pendingValue = 0x12345678;
     uint32_t presentValue = 0xABCDEF11;
+    uint32_t val_pending;
+    uint32_t val_present;
 
     std::array<uint8_t,
                hdrSize + PLDM_GET_NUMERIC_EFFECTER_VALUE_MIN_RESP_BYTES + 6>
@@ -1748,16 +1750,18 @@
         reinterpret_cast<struct pldm_get_numeric_effecter_value_resp*>(
             response->payload);
 
-    uint32_t* val_pending = (uint32_t*)(&resp->pending_and_present_values[0]);
-    *val_pending = le32toh(*val_pending);
-    uint32_t* val_present = (uint32_t*)(&resp->pending_and_present_values[4]);
-    *val_present = le32toh(*val_present);
+    memcpy(&val_pending, &resp->pending_and_present_values[0],
+           sizeof(val_pending));
+    val_pending = le32toh(val_pending);
+    memcpy(&val_present, &resp->pending_and_present_values[4],
+           sizeof(val_present));
+    val_present = le32toh(val_present);
 
     EXPECT_EQ(rc, PLDM_SUCCESS);
     EXPECT_EQ(effecter_dataSize, resp->effecter_data_size);
     EXPECT_EQ(effecter_operState, resp->effecter_oper_state);
-    EXPECT_EQ(pendingValue, *val_pending);
-    EXPECT_EQ(presentValue, *val_present);
+    EXPECT_EQ(pendingValue, val_pending);
+    EXPECT_EQ(presentValue, val_present);
 }
 
 TEST(GetNumericEffecterValue, testBadEncodeResponse)