Просмотр исходного кода

Fixed mishandling of an allocation failure in PHYSFS_openRead().

(Static analysis caught this one! Thanks clang!)
Ryan C. Gordon 5 лет назад
Родитель
Сommit
235e31c420
1 измененных файлов с 9 добавлено и 7 удалено
  1. 9 7
      src/physfs.c

+ 9 - 7
src/physfs.c

@@ -2731,13 +2731,15 @@ PHYSFS_File *PHYSFS_openRead(const char *_fname)
                 io->destroy(io);
                 PHYSFS_setErrorCode(PHYSFS_ERR_OUT_OF_MEMORY);
             } /* if */
-
-            memset(fh, '\0', sizeof (FileHandle));
-            fh->io = io;
-            fh->forReading = 1;
-            fh->dirHandle = i;
-            fh->next = openReadList;
-            openReadList = fh;
+            else
+            {
+                memset(fh, '\0', sizeof (FileHandle));
+                fh->io = io;
+                fh->forReading = 1;
+                fh->dirHandle = i;
+                fh->next = openReadList;
+                openReadList = fh;
+            } /* else */
         } /* if */
     } /* if */