From dcc079150239de4603a89b106b12012d901e4462 Mon Sep 17 00:00:00 2001 From: Antonis Geralis <43617260+planetis-m@users.noreply.github.com> Date: Fri, 24 Dec 2021 21:54:25 +0300 Subject: [PATCH] check not null before accessing by index (#2243) --- src/rmodels.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/rmodels.c b/src/rmodels.c index 04bba1971..3ee3a4708 100644 --- a/src/rmodels.c +++ b/src/rmodels.c @@ -1624,7 +1624,7 @@ void UnloadMesh(Mesh mesh) // Unload rlgl mesh vboId data rlUnloadVertexArray(mesh.vaoId); - for (int i = 0; i < MAX_MESH_VERTEX_BUFFERS; i++) rlUnloadVertexBuffer(mesh.vboId[i]); + if (mesh.vboId != NULL) for (int i = 0; i < MAX_MESH_VERTEX_BUFFERS; i++) rlUnloadVertexBuffer(mesh.vboId[i]); RL_FREE(mesh.vboId); RL_FREE(mesh.vertices); @@ -1787,9 +1787,12 @@ void UnloadMaterial(Material material) if (material.shader.id != rlGetShaderIdDefault()) UnloadShader(material.shader); // Unload loaded texture maps (avoid unloading default texture, managed by raylib) - for (int i = 0; i < MAX_MATERIAL_MAPS; i++) + if (material.maps != NULL) { - if (material.maps[i].texture.id != rlGetTextureIdDefault()) rlUnloadTexture(material.maps[i].texture.id); + for (int i = 0; i < MAX_MATERIAL_MAPS; i++) + { + if (material.maps[i].texture.id != rlGetTextureIdDefault()) rlUnloadTexture(material.maps[i].texture.id); + } } RL_FREE(material.maps);