From 04f5eb6b6801ea63ba3921f0b44aad59ae32bbac Mon Sep 17 00:00:00 2001 From: OTHGMars Date: Mon, 15 Apr 2019 19:05:14 -0400 Subject: [PATCH] Fix required for loading the binary gltf files included in the assimp unit test shapes. --- Engine/lib/assimp/code/glTF2Asset.inl | 2 ++ Engine/lib/assimp/code/glTFAsset.inl | 2 ++ 2 files changed, 4 insertions(+) diff --git a/Engine/lib/assimp/code/glTF2Asset.inl b/Engine/lib/assimp/code/glTF2Asset.inl index b51975c77..196d664cb 100644 --- a/Engine/lib/assimp/code/glTF2Asset.inl +++ b/Engine/lib/assimp/code/glTF2Asset.inl @@ -405,6 +405,8 @@ inline void Buffer::Read(Value& obj, Asset& r) inline bool Buffer::LoadFromStream(IOStream& stream, size_t length, size_t baseOffset) { byteLength = length ? length : stream.FileSize(); + if ((byteLength + baseOffset) > stream.FileSize()) + byteLength = stream.FileSize() - baseOffset; if (baseOffset) { stream.Seek(baseOffset, aiOrigin_SET); diff --git a/Engine/lib/assimp/code/glTFAsset.inl b/Engine/lib/assimp/code/glTFAsset.inl index 7b7acd705..5c65767d1 100644 --- a/Engine/lib/assimp/code/glTFAsset.inl +++ b/Engine/lib/assimp/code/glTFAsset.inl @@ -345,6 +345,8 @@ inline void Buffer::Read(Value& obj, Asset& r) inline bool Buffer::LoadFromStream(IOStream& stream, size_t length, size_t baseOffset) { byteLength = length ? length : stream.FileSize(); + if ((byteLength + baseOffset) > stream.FileSize()) + byteLength = stream.FileSize() - baseOffset; if (baseOffset) { stream.Seek(baseOffset, aiOrigin_SET);