summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAntonis Geralis <[email protected]>2021-12-24 21:54:25 +0300
committerGitHub <[email protected]>2021-12-24 19:54:25 +0100
commitdcc079150239de4603a89b106b12012d901e4462 (patch)
treeb0b0f5d7221a381223ae66ebfed463aef6e993cc
parentf66ae2366f3abf58f63dbe1f719a2cd33cccf1ca (diff)
downloadraylib-dcc079150239de4603a89b106b12012d901e4462.tar.gz
raylib-dcc079150239de4603a89b106b12012d901e4462.zip
check not null before accessing by index (#2243)
-rw-r--r--src/rmodels.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/rmodels.c b/src/rmodels.c
index 04bba197..3ee3a470 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);