X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=webcit%2Fhtml2html.c;h=b1eb4b0bb5d8967e673cfc43c43af99b54100625;hb=713b381386d4f0068aa0cd1255101b959cae339f;hp=05bc77a935f1ae189f98f7a1cce0037a6755bf14;hpb=da5b18b0a79cdfa5e51a19e83bbd2368aee7a606;p=citadel.git diff --git a/webcit/html2html.c b/webcit/html2html.c index 05bc77a93..b1eb4b0bb 100644 --- a/webcit/html2html.c +++ b/webcit/html2html.c @@ -103,15 +103,20 @@ void output_html(char *supplied_charset, int treat_as_wiki) { while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) { line_length = strlen(buf); buffer_length = content_length + line_length + 2; - msg = realloc(msg, buffer_length); - if (msg == NULL) { + ptr = realloc(msg, buffer_length); + if (ptr == NULL) { wprintf(""); wprintf(_("realloc() error! couldn't get %d bytes: %s"), buffer_length + 1, strerror(errno)); wprintf("

\n"); + while (serv_getln(buf, sizeof buf), strcmp(buf, "000")) { + /** flush */ + } + free(msg); return; } + msg = ptr; strcpy(&msg[content_length], buf); content_length += line_length; strcpy(&msg[content_length], "\n");