Browse Source

Update STLLoader.cpp

Fix memory-alignment bug.
Kim Kulling 7 years ago
parent
commit
b87e7643d2
1 changed files with 3 additions and 1 deletions
  1. 3 1
      code/STLLoader.cpp

+ 3 - 1
code/STLLoader.cpp

@@ -80,7 +80,9 @@ static bool IsBinarySTL(const char* buffer, unsigned int fileSize) {
         return false;
     }
 
-    const uint32_t faceCount = *reinterpret_cast<const uint32_t*>(buffer + 80);
+    char *facecount_pos = buffer + 80;
+    uint32_t faceCount( 0 );
+    ::memcpy( &faceCount, facecount_pos, sizeof( uint32_t ) );
     const uint32_t expectedBinaryFileSize = faceCount * 50 + 84;
 
     return expectedBinaryFileSize == fileSize;