common : Migrate to placement_new from reinterpret casting

reinterpret_cast is prohibited by the C++ core guidelines because
it takes the behavior outside the language definition and gives
problems with type safety. Placement-new on the other-hand allows
to control the object storage while still properly instantiating
an object,keeping the behavior inside the C++ language
specification.

Change-Id: I9147096ac333b2ec02f137b19d13566cc0ede105
Signed-off-by: Pavithra Barithaya <pavithrabarithaya07@gmail.com>
diff --git a/common/utils.cpp b/common/utils.cpp
index 11ce064..59b5d23 100644
--- a/common/utils.cpp
+++ b/common/utils.cpp
@@ -48,16 +48,15 @@
                                                   record, &outData, &size);
             if (record)
             {
-                auto pdr = reinterpret_cast<pldm_state_effecter_pdr*>(outData);
+                auto pdr = new (outData) pldm_state_effecter_pdr;
                 auto compositeEffecterCount = pdr->composite_effecter_count;
                 auto possible_states_start = pdr->possible_states;
 
                 for (auto effecters = 0x00; effecters < compositeEffecterCount;
                      effecters++)
                 {
-                    auto possibleStates =
-                        reinterpret_cast<state_effecter_possible_states*>(
-                            possible_states_start);
+                    auto possibleStates = new (possible_states_start)
+                        state_effecter_possible_states;
                     auto setId = possibleStates->state_set_id;
                     auto possibleStateSize =
                         possibleStates->possible_states_size;
@@ -100,16 +99,15 @@
                                                   record, &outData, &size);
             if (record)
             {
-                auto pdr = reinterpret_cast<pldm_state_sensor_pdr*>(outData);
+                auto pdr = new (outData) pldm_state_sensor_pdr;
                 auto compositeSensorCount = pdr->composite_sensor_count;
                 auto possible_states_start = pdr->possible_states;
 
                 for (auto sensors = 0x00; sensors < compositeSensorCount;
                      sensors++)
                 {
-                    auto possibleStates =
-                        reinterpret_cast<state_sensor_possible_states*>(
-                            possible_states_start);
+                    auto possibleStates = new (possible_states_start)
+                        state_sensor_possible_states;
                     auto setId = possibleStates->state_set_id;
                     auto possibleStateSize =
                         possibleStates->possible_states_size;
@@ -496,16 +494,15 @@
                                               record, &pdrData, &pdrSize);
         if (record && (localOrRemote ^ pldm_pdr_record_is_remote(record)))
         {
-            auto pdr = reinterpret_cast<pldm_state_effecter_pdr*>(pdrData);
+            auto pdr = new (pdrData) pldm_state_effecter_pdr;
             auto compositeEffecterCount = pdr->composite_effecter_count;
             auto possible_states_start = pdr->possible_states;
 
             for (auto effecters = 0x00; effecters < compositeEffecterCount;
                  effecters++)
             {
-                auto possibleStates =
-                    reinterpret_cast<state_effecter_possible_states*>(
-                        possible_states_start);
+                auto possibleStates = new (possible_states_start)
+                    state_effecter_possible_states;
                 auto setId = possibleStates->state_set_id;
                 auto possibleStateSize = possibleStates->possible_states_size;
 
@@ -575,15 +572,14 @@
     auto pdrs = findStateSensorPDR(tid, entityType, stateSetId, pdrRepo);
     for (auto pdr : pdrs)
     {
-        auto sensorPdr = reinterpret_cast<pldm_state_sensor_pdr*>(pdr.data());
+        auto sensorPdr = new (pdr.data()) pldm_state_sensor_pdr;
         auto compositeSensorCount = sensorPdr->composite_sensor_count;
         auto possible_states_start = sensorPdr->possible_states;
 
         for (auto sensors = 0x00; sensors < compositeSensorCount; sensors++)
         {
-            auto possibleStates =
-                reinterpret_cast<state_sensor_possible_states*>(
-                    possible_states_start);
+            auto possibleStates = new (possible_states_start)
+                state_sensor_possible_states;
             auto setId = possibleStates->state_set_id;
             auto possibleStateSize = possibleStates->possible_states_size;
             if (entityType == sensorPdr->entity_type &&