If an RSS feed contains an item with a missing title,
authorArt Cancro <ajc@citadel.org>
Wed, 18 Jun 2008 02:28:11 +0000 (02:28 +0000)
committerArt Cancro <ajc@citadel.org>
Wed, 18 Jun 2008 02:28:11 +0000 (02:28 +0000)
don't crash citserver when saving the item.

citadel/modules/rssclient/serv_rssclient.c

index 141ff69ed7faf336ec5a1610e0386e0f7f807989..eeaf361a4f23b9f1fe80c2753f9929dfee608ce0 100644 (file)
@@ -141,13 +141,15 @@ void rss_save_item(struct rss_item *ri) {
                msg->cm_format_type = FMT_RFC822;
                msg->cm_fields['A'] = strdup("rss");
                msg->cm_fields['N'] = strdup(NODENAME);
-               msg->cm_fields['U'] = html_to_ascii(ri->title, 
-                                                   strlen(ri->title), 
-                                                   512, 0);
+               if (ri->title != NULL) {
+                       msg->cm_fields['U'] = html_to_ascii(ri->title, strlen(ri->title), 512, 0);
+               }
                msg->cm_fields['T'] = malloc(64);
                snprintf(msg->cm_fields['T'], 64, "%ld", ri->pubdate);
-               if (!IsEmptyStr(ri->channel_title)) {
-                       msg->cm_fields['O'] = strdup(ri->channel_title);
+               if (ri->channel_title != NULL) {
+                       if (!IsEmptyStr(ri->channel_title)) {
+                               msg->cm_fields['O'] = strdup(ri->channel_title);
+                       }
                }
 
                msglen = 1024 + strlen(ri->link) + strlen(ri->description) ;