diff options
| author | raysan5 <[email protected]> | 2020-09-16 11:33:56 +0200 |
|---|---|---|
| committer | raysan5 <[email protected]> | 2020-09-16 11:33:56 +0200 |
| commit | 43d82c1f21a2432d290e44bf223d2879f5af8837 (patch) | |
| tree | c929c97342b4e5e81885d148ef795a0d0c396cbb /src/textures.c | |
| parent | c5c156d65e3a12e5b9abbf93c3a0cd51d29a5971 (diff) | |
| download | raylib-43d82c1f21a2432d290e44bf223d2879f5af8837.tar.gz raylib-43d82c1f21a2432d290e44bf223d2879f5af8837.zip | |
Add security checks when loading data from memory
Diffstat (limited to 'src/textures.c')
| -rw-r--r-- | src/textures.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/textures.c b/src/textures.c index e375b263..c1c60d08 100644 --- a/src/textures.c +++ b/src/textures.c @@ -211,13 +211,16 @@ Image LoadImage(const char *fileName) unsigned int fileSize = 0; unsigned char *fileData = LoadFileData(fileName, &fileSize); - // Loading image from memory data - image = LoadImageFromMemory(GetFileExtension(fileName), fileData, fileSize); + if (fileData != NULL) + { + // Loading image from memory data + image = LoadImageFromMemory(GetFileExtension(fileName), fileData, fileSize); - if (image.data != NULL) TRACELOG(LOG_INFO, "IMAGE: [%s] Data loaded successfully (%ix%i)", fileName, image.width, image.height); - else TRACELOG(LOG_WARNING, "IMAGE: [%s] Failed to load data", fileName); - - RL_FREE(fileData); + if (image.data != NULL) TRACELOG(LOG_INFO, "IMAGE: [%s] Data loaded successfully (%ix%i)", fileName, image.width, image.height); + else TRACELOG(LOG_WARNING, "IMAGE: [%s] Failed to load data", fileName); + + RL_FREE(fileData); + } return image; } |
