commit f2952c9fb89697290384a97cd27ab6c538430b54
parent b1168c7ffc081d05fe2b600d5dd22b40a3c926c6
Author: Paul <paul@claws-mail.org>
Date: Tue, 10 Nov 2015 15:20:23 +0000
fix bug 3561, 'HTML <a> tag with no href makes message display incorrectly.'
based on patch by Andy Balaam
Diffstat:
3 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/AUTHORS b/AUTHORS
@@ -307,3 +307,4 @@ contributors (in addition to the above; based on Changelog)
Mikhail Kurinnoi
Arthur Huillet
Blatinox
+ Andy Balaam
diff --git a/src/gtk/authors.h b/src/gtk/authors.h
@@ -86,11 +86,12 @@ static char *CONTRIBS_LIST[] = {
"André Filipe de Assunção e Brito",
"Sergei Astanin",
"Ruslan N. Balkin",
+"Andy Balaam",
"Henri Bauer",
+"Didier Barvaux",
"Fabio Júnior Beneditto",
"M. Benkmann",
"Wilbert Berendsen",
-"Didier Barvaux",
"Sébastien Bigaret",
"Laurent Bigonville",
"Jean-Luc Biord",
diff --git a/src/html.c b/src/html.c
@@ -649,6 +649,7 @@ static SC_HTMLState sc_html_parse_tag(SC_HTMLParser *parser)
parser->state = SC_HTML_BR;
} else if (!strcmp(tag->name, "a")) {
GList *cur;
+ parser->href = NULL;
for (cur = tag->attr; cur != NULL; cur = cur->next) {
if (cur->data && !strcmp(((SC_HTMLAttr *)cur->data)->name, "href")) {
g_free(parser->href);
@@ -658,6 +659,8 @@ static SC_HTMLState sc_html_parse_tag(SC_HTMLParser *parser)
break;
}
}
+ if (parser->href == NULL)
+ parser->href = g_strdup("");
parser->state = SC_HTML_HREF_BEG;
} else if (!strcmp(tag->name, "/a")) {
parser->state = SC_HTML_HREF;