mirror of
https://github.com/raysan5/raylib.git
synced 2025-09-25 12:38:30 +00:00
Add security checks when loading data from memory
This commit is contained in:
@@ -694,10 +694,13 @@ Wave LoadWave(const char *fileName)
|
|||||||
unsigned int fileSize = 0;
|
unsigned int fileSize = 0;
|
||||||
unsigned char *fileData = LoadFileData(fileName, &fileSize);
|
unsigned char *fileData = LoadFileData(fileName, &fileSize);
|
||||||
|
|
||||||
// Loading wave from memory data
|
if (fileData != NULL)
|
||||||
wave = LoadWaveFromMemory(GetFileExtension(fileName), fileData, fileSize);
|
{
|
||||||
|
// Loading wave from memory data
|
||||||
|
wave = LoadWaveFromMemory(GetFileExtension(fileName), fileData, fileSize);
|
||||||
|
|
||||||
RL_FREE(fileData);
|
RL_FREE(fileData);
|
||||||
|
}
|
||||||
|
|
||||||
return wave;
|
return wave;
|
||||||
}
|
}
|
||||||
|
12
src/text.c
12
src/text.c
@@ -340,10 +340,14 @@ Font LoadFontEx(const char *fileName, int fontSize, int *fontChars, int charsCou
|
|||||||
unsigned int fileSize = 0;
|
unsigned int fileSize = 0;
|
||||||
unsigned char *fileData = LoadFileData(fileName, &fileSize);
|
unsigned char *fileData = LoadFileData(fileName, &fileSize);
|
||||||
|
|
||||||
// Loading font from memory data
|
if (fileData != NULL)
|
||||||
font = LoadFontFromMemory(GetFileExtension(fileName), fileData, fileSize, fontSize, fontChars, charsCount);
|
{
|
||||||
|
// Loading font from memory data
|
||||||
RL_FREE(fileData);
|
font = LoadFontFromMemory(GetFileExtension(fileName), fileData, fileSize, fontSize, fontChars, charsCount);
|
||||||
|
|
||||||
|
RL_FREE(fileData);
|
||||||
|
}
|
||||||
|
else font = GetFontDefault();
|
||||||
|
|
||||||
return font;
|
return font;
|
||||||
}
|
}
|
||||||
|
@@ -211,13 +211,16 @@ Image LoadImage(const char *fileName)
|
|||||||
unsigned int fileSize = 0;
|
unsigned int fileSize = 0;
|
||||||
unsigned char *fileData = LoadFileData(fileName, &fileSize);
|
unsigned char *fileData = LoadFileData(fileName, &fileSize);
|
||||||
|
|
||||||
// Loading image from memory data
|
if (fileData != NULL)
|
||||||
image = LoadImageFromMemory(GetFileExtension(fileName), fileData, fileSize);
|
{
|
||||||
|
// 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);
|
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);
|
else TRACELOG(LOG_WARNING, "IMAGE: [%s] Failed to load data", fileName);
|
||||||
|
|
||||||
RL_FREE(fileData);
|
RL_FREE(fileData);
|
||||||
|
}
|
||||||
|
|
||||||
return image;
|
return image;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user