oappend robustness improvement

obuf is reset to nullptr in some cases
This commit is contained in:
Frank 2023-12-14 15:58:45 +01:00 committed by GitHub
parent d6735bed4f
commit 082d1eea48
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -148,7 +148,7 @@ bool oappendi(int i)
bool oappend(const char* txt) bool oappend(const char* txt)
{ {
uint16_t len = strlen(txt); uint16_t len = strlen(txt);
if (olen + len >= SETTINGS_STACK_BUF_SIZE) { if ((obuf == nullptr) || (olen + len >= SETTINGS_STACK_BUF_SIZE)) { // sanity checks
#ifdef WLED_DEBUG #ifdef WLED_DEBUG
DEBUG_PRINT(F("oappend() buffer overflow. Cannot append ")); DEBUG_PRINT(F("oappend() buffer overflow. Cannot append "));
DEBUG_PRINT(len); DEBUG_PRINT(F(" bytes \t\"")); DEBUG_PRINT(len); DEBUG_PRINT(F(" bytes \t\""));