Преглед на файлове

[rmodels] Fix leaks in LoadIQM() and LoadModelAnimationsIQM() (#4649)

Add calls to UnloadFileData() before return in cases of invalid IQM file.
Peter Zmanovsky преди 8 месеца
родител
ревизия
d1315e8a04
променени са 1 файла, в които са добавени 4 реда и са изтрити 0 реда
  1. 4 0
      src/rmodels.c

+ 4 - 0
src/rmodels.c

@@ -4570,12 +4570,14 @@ static Model LoadIQM(const char *fileName)
     if (memcmp(iqmHeader->magic, IQM_MAGIC, sizeof(IQM_MAGIC)) != 0)
     {
         TRACELOG(LOG_WARNING, "MODEL: [%s] IQM file is not a valid model", fileName);
+        UnloadFileData(fileData);
         return model;
     }
 
     if (iqmHeader->version != IQM_VERSION)
     {
         TRACELOG(LOG_WARNING, "MODEL: [%s] IQM file version not supported (%i)", fileName, iqmHeader->version);
+        UnloadFileData(fileData);
         return model;
     }
 
@@ -4891,12 +4893,14 @@ static ModelAnimation *LoadModelAnimationsIQM(const char *fileName, int *animCou
     if (memcmp(iqmHeader->magic, IQM_MAGIC, sizeof(IQM_MAGIC)) != 0)
     {
         TRACELOG(LOG_WARNING, "MODEL: [%s] IQM file is not a valid model", fileName);
+        UnloadFileData(fileData);
         return NULL;
     }
 
     if (iqmHeader->version != IQM_VERSION)
     {
         TRACELOG(LOG_WARNING, "MODEL: [%s] IQM file version not supported (%i)", fileName, iqmHeader->version);
+        UnloadFileData(fileData);
         return NULL;
     }