diff -Nur old/webmail/html.c new/webmail/html.c
--- old/webmail/html.c 2003-10-06 00:16:13.000000000 +0000
+++ new/webmail/html.c 2005-08-31 21:32:48.117085448 +0000
@@ -187,9 +187,16 @@
if (tai) ++tai->tagvaluelen;
}
if (*p) p++;
+ else
+ {
+ memset(tagbuf, ' ', strlen(tagbuf));
+ }
}
else
{
+ if (c == 0)
+ memset(tagbuf, ' ', strlen(tagbuf));
+
if (tai)
{
tai->tagvalue=p;
@@ -222,6 +229,31 @@
while ((p=strchr(tagbuf, '<')) != NULL)
*p=' ';
+ for (p=tagbuf; *p; p++)
+ {
+ char *q;
+
+ if (*p != '&')
+ continue;
+
+ q=p;
+
+ ++p;
+
+ while (*p)
+ {
+ if (strchr("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789", *p) == NULL)
+ break;
+ ++p;
+ }
+
+ if (*p != ';')
+ {
+ *q=0;
+ }
+ --p;
+ }
+
tagattrlen=parseattr(0);
if ( tagattrlen > tagattrsize)
{