Skip to content

Commit d1d2b49

Browse files
authored
Merge pull request #655 from hdijkema/recursion-fix
Fix endless recursion on webui_malloc in debug mode.
2 parents 3629742 + 5921999 commit d1d2b49

1 file changed

Lines changed: 4 additions & 2 deletions

File tree

src/webui.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -731,14 +731,16 @@ static void _webui_log(size_t level, const char *format, va_list args) {
731731
_webui_log_data.logger_func(WEBUI_LOGGER_LEVEL_ERROR, "Log formatting error", _webui_log_data.logger_user_data);
732732
return;
733733
}
734-
char *buffer = _webui_malloc(needed_size + 1);
734+
735+
char buf[256];
736+
char *buffer = (needed_size > 255) ? _webui_malloc(needed_size + 1) : buf;
735737
if (buffer == NULL) {
736738
_webui_log_data.logger_func(WEBUI_LOGGER_LEVEL_ERROR, "Memory allocation failed for log", _webui_log_data.logger_user_data);
737739
return;
738740
}
739741
vsnprintf(buffer, needed_size + 1, format, args);
740742
_webui_log_data.logger_func(level, buffer, _webui_log_data.logger_user_data);
741-
_webui_free_mem((void*)buffer);
743+
if (buffer != buf) _webui_free_mem((void*)buffer);
742744
}
743745
}
744746

0 commit comments

Comments
 (0)