diff --git a/src/rmodels.c b/src/rmodels.c index b4a2988aa..f7ecb805e 100644 --- a/src/rmodels.c +++ b/src/rmodels.c @@ -1943,10 +1943,11 @@ bool ExportMesh(Mesh mesh, const char *fileName) if (IsFileExtension(fileName, ".obj")) { // Estimated data size, it should be enough... - int dataSize = mesh.vertexCount*(int)strlen("v -0000.000000f -0000.000000f -0000.000000f\n") + - mesh.vertexCount*(int)strlen("vt -0.000000f -0.000000f\n") + - mesh.vertexCount*(int)strlen("vn -0.0000f -0.0000f -0.0000f\n") + - mesh.triangleCount*(int)strlen("f 00000/00000/00000 00000/00000/00000 00000/00000/00000\n"); + int vc = mesh.vertexCount; + int dataSize = vc*(int)strlen("v -0000.000000f -0000.000000f -0000.000000f\n") + + vc*(int)strlen("vt -0.000000f -0.000000f\n") + + vc*(int)strlen("vn -0.0000f -0.0000f -0.0000f\n") + + mesh.triangleCount*snprintf(NULL, 0, "f %i/%i/%i %i/%i/%i %i/%i/%i\n", vc, vc, vc, vc, vc, vc, vc, vc, vc); // NOTE: Text data buffer size is estimated considering mesh data size char *txtData = (char *)RL_CALLOC(dataSize + 1000, sizeof(char));