talons

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

commit bfc55f7a4e6fe27aa9fa3086dc5930bad52943bb
parent 6a99577ab05c39eec8674af6c7786b5e1fd4b6a2
Author: Andrej Kacian <ticho@claws-mail.org>
Date:   Tue, 23 Apr 2019 22:31:31 +0200

Fix a memory leak in rssyl_add_item()

Diffstat:
Msrc/plugins/rssyl/rssyl_add_item.c | 9++++++---
1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/plugins/rssyl/rssyl_add_item.c b/src/plugins/rssyl/rssyl_add_item.c @@ -379,6 +379,7 @@ void rssyl_add_item(RFolderItem *ritem, FeedItem *feed_item) atoi(pathbasename)); g_free(pathbasename); oldperm_flags = msginfo->flags.perm_flags; + procmsg_msginfo_free(&msginfo); ritem->items = g_slist_remove(ritem->items, old_item); if (g_unlink(ctx->path) != 0) { @@ -575,9 +576,11 @@ void rssyl_add_item(RFolderItem *ritem, FeedItem *feed_item) * doesn't want to see it unread because of the change. */ if (dif != EXISTS_NEW) { if (!(oldperm_flags & MSG_UNREAD) && (ritem->silent_update == 2 - || (ritem->silent_update == 1 && dif == EXISTS_CHANGED_TEXTONLY))) - procmsg_msginfo_unset_flags( - folder_item_get_msginfo((FolderItem *)ritem, d), MSG_NEW | MSG_UNREAD, 0); + || (ritem->silent_update == 1 && dif == EXISTS_CHANGED_TEXTONLY))) { + msginfo = folder_item_get_msginfo((FolderItem *)ritem, d); + procmsg_msginfo_unset_flags(msginfo, MSG_NEW | MSG_UNREAD, 0); + procmsg_msginfo_free(&msginfo); + } } debug_print("RSSyl: folder_item_add_msg(): %d\n", d);