talons

Fork of Claws Mail https://www.claws-mail
Log | Files | Refs | README | LICENSE

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:
MAUTHORS | 1+
Msrc/gtk/authors.h | 3++-
Msrc/html.c | 3+++
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;