openbsd-ports/mail/evolution-rss/patches/patch-src_rss-config-factory_c
ajacoutot ebc7ded429 Add patch from Fedora: Red Hat bug #1517021 (Crash when importing OPML
file with feeds without 'title' attribute)
While here, regen WANTLIB and PLIST.
2018-05-07 10:11:35 +00:00

54 lines
1.6 KiB
Plaintext

$OpenBSD: patch-src_rss-config-factory_c,v 1.11 2018/05/07 10:11:35 ajacoutot Exp $
Red Hat bug #1517021 (Crash when importing OPML file with feeds without 'title' attribute)
Index: src/rss-config-factory.c
--- src/rss-config-factory.c.orig
+++ src/rss-config-factory.c
@@ -1904,6 +1904,7 @@ import_dialog_response(
{
if (response == GTK_RESPONSE_CANCEL) {
gtk_widget_destroy(rf->progress_dialog);
+ rf->progress_dialog = NULL;
rf->import_cancel = 1;
rf->display_cancel = 1;
progress = 0;
@@ -1923,13 +1924,13 @@ import_one_feed(gchar *url, gchar *title, gchar *prefi
feed->validate = feed_validate;
feed->enabled = feed_enabled;
feed->feed_url = g_strdup(url);
- tmp = decode_html_entities(title);
- if (strlen(tmp) > 40) {
+ tmp = title ? decode_html_entities(title) : NULL;
+ if (tmp && strlen(tmp) > 40) {
gchar *t = tmp;
tmp = g_strndup(tmp, 40);
g_free(t);
}
- feed->feed_name = sanitize_folder(tmp);
+ feed->feed_name = tmp ? sanitize_folder(tmp) : NULL;
g_free(tmp);
feed->prefix = g_strdup(prefix);
rf->progress_bar = import_progress;
@@ -2215,6 +2216,10 @@ error: rss_error(NULL,
rsstitle = (gchar *)xmlGetProp(
src,
(xmlChar *)"title");
+ if (!rsstitle)
+ rsstitle = (gchar *)xmlGetProp(
+ src,
+ (xmlChar *)"text");
d("rssprefix:%s|rssurl:%s|rsstitle:%s|\n",
rssprefix,
@@ -2278,7 +2283,8 @@ out: g_hash_table_destroy(tmphash);
rf->import_cancel = 0;
if (maintitle) xmlFree(maintitle);
if (doc) xmlFree(doc);
- if (import_dialog) {
+ if (import_dialog && !rf->import) {
+ rf->progress_dialog = NULL;
gtk_widget_destroy(import_dialog);
import_dialog = NULL;
}