Merge pull request #31 from orbitcowboy/master
Fixed file descriptor leak on LoadSettings() failure
diff --git a/imgui.cpp b/imgui.cpp
index 5a72b2a..5e9add5 100644
--- a/imgui.cpp
+++ b/imgui.cpp
@@ -1049,13 +1049,22 @@
if ((f = fopen(filename, "rt")) == NULL)
return;
if (fseek(f, 0, SEEK_END))
- return;
+ {
+ fclose(f);
+ return;
+ }
const long f_size_signed = ftell(f);
if (f_size_signed == -1)
- return;
+ {
+ fclose(f);
+ return;
+ }
size_t f_size = (size_t)f_size_signed;
if (fseek(f, 0, SEEK_SET))
- return;
+ {
+ fclose(f);
+ return;
+ }
char* f_data = new char[f_size+1];
f_size = fread(f_data, 1, f_size, f); // Text conversion alter read size so let's not be fussy about return value
fclose(f);