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];