Skip to content

Commit 56aa42e

Browse files
committed
fix default font reading
- afaik you're not supposed to use fopen with NULL path
1 parent c56e072 commit 56aa42e

1 file changed

Lines changed: 16 additions & 11 deletions

File tree

lib/dengine-gui/src/gui.c

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -178,19 +178,24 @@ int denginegui_set_font(const void* ttf, const float fontsize, const uint32_t bi
178178
void* sysfontmem = NULL;
179179
if (!ttf) {
180180
const char* file = _denginegui_get_defaultfont();
181-
if (file == NULL) {
182-
dengineutils_logging_log("WARNING::Cannot read default font. Load embfont OpenSans_Light");
183-
mem = OpenSans_Light_ttf;
184-
}else
185-
{
186-
FILE* f = fopen(file, "rb");
187-
fseek(f, 0, SEEK_END);
188-
size_t sz = ftell(f);
189-
rewind(f);
181+
FILE* file_stdio = NULL;
182+
183+
if(file)
184+
file_stdio = fopen(file, "rb");
185+
186+
if(file_stdio){
187+
fseek(file_stdio, 0, SEEK_END);
188+
size_t sz = ftell(file_stdio);
189+
rewind(file_stdio);
190190
sysfontmem = malloc(sz);
191-
fread(sysfontmem, sz, 1, f);
191+
fread(sysfontmem, sz, 1, file_stdio);
192192
mem = sysfontmem;
193-
fclose(f);
193+
fclose(file_stdio);
194+
}
195+
196+
if (file_stdio == NULL) {
197+
dengineutils_logging_log("WARNING::Cannot read default font. Load embfont OpenSans_Light");
198+
mem = OpenSans_Light_ttf;
194199
}
195200
}
196201

0 commit comments

Comments
 (0)