diff --git a/Engine/source/navigation/navMesh.cpp b/Engine/source/navigation/navMesh.cpp index db70d1cc3..49c0f9283 100644 --- a/Engine/source/navigation/navMesh.cpp +++ b/Engine/source/navigation/navMesh.cpp @@ -1593,12 +1593,15 @@ bool NavMesh::load() S32 s; file.read(sizeof(S32), (char*)&s); setLinkCount(s); - file.read(sizeof(F32) * s * 6, (char*)const_cast(mLinkVerts.address())); - file.read(sizeof(F32) * s, (char*)const_cast(mLinkRads.address())); - file.read(sizeof(U8) * s, (char*)const_cast(mLinkDirs.address())); - file.read(sizeof(U8) * s, (char*)const_cast(mLinkAreas.address())); - file.read(sizeof(U16) * s, (char*)const_cast(mLinkFlags.address())); - file.read(sizeof(F32) * s, (char*)const_cast(mLinkIDs.address())); + if (s > 0) + { + file.read(sizeof(F32) * s * 6, (char*)const_cast(mLinkVerts.address())); + file.read(sizeof(F32) * s, (char*)const_cast(mLinkRads.address())); + file.read(sizeof(U8) * s, (char*)const_cast(mLinkDirs.address())); + file.read(sizeof(U8) * s, (char*)const_cast(mLinkAreas.address())); + file.read(sizeof(U16) * s, (char*)const_cast(mLinkFlags.address())); + file.read(sizeof(F32) * s, (char*)const_cast(mLinkIDs.address())); + } mLinksUnsynced.fill(false); mLinkSelectStates.fill(Unselected); mDeleteLinks.fill(false);