mirror of
https://github.com/Drezil/imgui.git
synced 2024-11-25 21:17:01 +00:00
Fixed file-descriptor leak if ImBitmapFont::LoadFromFile() calls to seek/tell fails.
This commit is contained in:
parent
1cf4b313e2
commit
3fd68c3a31
@ -5190,13 +5190,22 @@ bool ImBitmapFont::LoadFromFile(const char* filename)
|
|||||||
if ((f = fopen(filename, "rb")) == NULL)
|
if ((f = fopen(filename, "rb")) == NULL)
|
||||||
return false;
|
return false;
|
||||||
if (fseek(f, 0, SEEK_END))
|
if (fseek(f, 0, SEEK_END))
|
||||||
|
{
|
||||||
|
fclose(f);
|
||||||
return false;
|
return false;
|
||||||
|
}
|
||||||
const long f_size = ftell(f);
|
const long f_size = ftell(f);
|
||||||
if (f_size == -1)
|
if (f_size == -1)
|
||||||
|
{
|
||||||
|
fclose(f);
|
||||||
return false;
|
return false;
|
||||||
|
}
|
||||||
DataSize = (size_t)f_size;
|
DataSize = (size_t)f_size;
|
||||||
if (fseek(f, 0, SEEK_SET))
|
if (fseek(f, 0, SEEK_SET))
|
||||||
|
{
|
||||||
|
fclose(f);
|
||||||
return false;
|
return false;
|
||||||
|
}
|
||||||
if ((Data = (unsigned char*)IM_MALLOC(DataSize)) == NULL)
|
if ((Data = (unsigned char*)IM_MALLOC(DataSize)) == NULL)
|
||||||
{
|
{
|
||||||
fclose(f);
|
fclose(f);
|
||||||
|
Loading…
Reference in New Issue
Block a user