talons

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

commit 2695955e3b2700f7897d0aad71292fb811293cd3
parent 836015db5073fdc33f079264560fb6511ce5b392
Author: Andrej Kacian <ticho@claws-mail.org>
Date:   Sat, 31 May 2014 22:33:46 +0200

Check for existence of xmlNode namespace, to prevent NULL pointer crashes.

Diffstat:
Msrc/plugins/rssyl/parsers.c | 8++++----
1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/plugins/rssyl/parsers.c b/src/plugins/rssyl/parsers.c @@ -101,8 +101,8 @@ gint rssyl_parse_rdf(xmlDocPtr doc, RSSylFolderItem *ritem, gchar *parent) } /* Date - ISO8701 format */ if( !xmlStrcmp(n->name, "date") && - (!xmlStrcmp(n->ns->prefix, "ns") - || !xmlStrcmp(n->ns->prefix, "dc")) ) { + (n->ns && n->ns->prefix && (!xmlStrcmp(n->ns->prefix, "ns") + || !xmlStrcmp(n->ns->prefix, "dc"))) ) { content = xmlNodeGetContent(n); fitem->date = parseISO8601Date(content); xmlFree(content); @@ -218,8 +218,8 @@ gint rssyl_parse_rss(xmlDocPtr doc, RSSylFolderItem *ritem, gchar *parent) xmlFree(content); } } - if( !xmlStrcmp(n->name, "encoded") - && !xmlStrcmp(n->ns->prefix, "content") ) { + if( !xmlStrcmp(n->name, "encoded") && + (n->ns && n->ns->prefix && !xmlStrcmp(n->ns->prefix, "content")) ) { debug_print("RSSyl: XML - item text (content) caught\n"); if (fitem->text != NULL)