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");