diff --git a/mozilla/webtools/web-sniffer/cgiview.c b/mozilla/webtools/web-sniffer/cgiview.c
index 47234499d5c..8783354126c 100644
--- a/mozilla/webtools/web-sniffer/cgiview.c
+++ b/mozilla/webtools/web-sniffer/cgiview.c
@@ -80,14 +80,16 @@ reportHTMLAttributeValue(void *a, HTML *html, Input *input)
{
URL *url;
View *view;
+ char *urlstring;
view = a;
if (html->currentAttributeIsURL)
{
url = urlRelative(html->base, html->currentAttribute->value);
- fprintf(view->out, "", me,
- url ? (char*) url->url : "");
+ urlstring = escapeHTML(url ? (char*) url->url : "");
+ fprintf(view->out, "", me, urlstring);
+ free(urlstring);
urlFree(url);
}
viewHTMLAttributeValue(view, input);
@@ -151,12 +153,15 @@ void
reportHTTPHeaderValue(void *a, Input *input, unsigned char *url)
{
View *view;
+ char *urlstring;
view = a;
if (url)
{
- fprintf(view->out, "", me, url);
+ urlstring = escapeHTML(url);
+ fprintf(view->out, "", me, urlstring);
+ free(urlstring);
}
viewHTTPHeaderValue(view, input);
if (url)
diff --git a/mozilla/webtools/web-sniffer/html.c b/mozilla/webtools/web-sniffer/html.c
index b67c4efdbe0..32d0316711c 100644
--- a/mozilla/webtools/web-sniffer/html.c
+++ b/mozilla/webtools/web-sniffer/html.c
@@ -899,6 +899,9 @@ escapeHTML(unsigned char *str)
case '&':
replacement = "&";
break;
+ case '"':
+ replacement = """;
+ break;
default:
replacement = buf;
buf[0] = str[j];