Tweak to misaligned memory pointer tests to not read/write to misaligned buffers

Signed-off-by: David Monahan <David.Monahan@arm.com>
Change-Id: Ic1272f1f6bb218e44cb0a0c58186641e8c4a5212
diff --git a/src/backends/backendsCommon/test/EndToEndTestImpl.hpp b/src/backends/backendsCommon/test/EndToEndTestImpl.hpp
index 086f6b7..77901df 100644
--- a/src/backends/backendsCommon/test/EndToEndTestImpl.hpp
+++ b/src/backends/backendsCommon/test/EndToEndTestImpl.hpp
@@ -1130,11 +1130,11 @@
         // Check the output is correct
     }
     unsigned int index = 0;
-    char outputData[expectedOutput.size() * sizeof(float)];
-    std::memcpy(outputData, misalignedMemPtr, expectedOutput.size() * sizeof(float));
+    std::vector<float> outputData(expectedOutput.size(), 0);
+    std::memcpy(outputData.data(), misalignedMemPtr, expectedOutput.size() * sizeof(float));
     for (auto outputValue : expectedOutput)
     {
-        CHECK(outputValue == reinterpret_cast<float*>(outputData)[index]);
+        CHECK(outputValue == outputData[index]);
         ++index;
     }
     std::free(memPtr);
@@ -1241,7 +1241,7 @@
     }
     // Check the output is correct
     unsigned int index = 0;
-    std::vector<float> outputData(expectedOutput.size());
+    std::vector<float> outputData(expectedOutput.size(), 0);
     std::memcpy(outputData.data(), misalignedOutputPtr, expectedOutput.size() * sizeof(float));
     for (auto expectedValue : expectedOutput)
     {
@@ -1418,7 +1418,7 @@
     }
     // Check the output is correct
     unsigned int index = 0;
-    std::vector<float> alignedOutputData(expectedMisalignedOutput.size());
+    std::vector<float> alignedOutputData(expectedMisalignedOutput.size(), 0);
     std::memcpy(alignedOutputData.data(), misalignedOutputPtr, expectedMisalignedOutput.size() * sizeof(float));
     for (auto outputValue : expectedMisalignedOutput)
     {