diff --git a/src/conio/cterm.c b/src/conio/cterm.c index 884b5ff72407c28f6558b8fa75bfafc4d5e75d8c..4e6334072eb2c9b55bc4fa4d5e160df018fdf1d1 100644 --- a/src/conio/cterm.c +++ b/src/conio/cterm.c @@ -5615,12 +5615,14 @@ CIOLIBEXPORT char* cterm_write(struct cterminal * cterm, const void *vbuf, int b if (cterm->strbufsize > 1024 * 1024 * 512) { FREE_AND_NULL(cterm->strbuf); cterm->strbuflen = cterm->strbufsize = 0; + break; } else { p = realloc(cterm->strbuf, cterm->strbufsize); if (p == NULL) { FREE_AND_NULL(cterm->strbuf); cterm->strbuflen = cterm->strbufsize = 0; + break; } else cterm->strbuf = p;