The mColors[0] array was allocated with m_numColors elements but indexed up to mNumVertices (= numFaces * 3), causing an out-of-bounds write when the color count is less than the vertex count. Allocate mColors[0] with mNumVertices (matching mNormals and mTextureCoords), and add a bounds check on idx before reading from the source color array. Fixes #6468 Co-authored-by: Kim Kulling <kimkulling@users.noreply.github.com>