commit b274c72a2b5b7b482a48b75bee15d13eecf3d8cd
parent fbb619d6ae6150a53b4b0bd5aa08ce53e3c6f253
Author: Andrej Kacian <ticho@claws-mail.org>
Date: Sat, 10 Sep 2016 00:07:01 +0200
Fix memory leak when freeing RSSyl's FeedItem struct.
Diffstat:
4 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/src/plugins/rssyl/parse822.c b/src/plugins/rssyl/parse822.c
@@ -235,8 +235,10 @@ static void rssyl_flush_folder_func(gpointer data, gpointer user_data)
FeedItem *item = (FeedItem *)data;
RFeedCtx *ctx = (RFeedCtx *)item->data;
- if( ctx != NULL && ctx->path != NULL)
+ if( ctx != NULL && ctx->path != NULL) {
g_free(ctx->path);
+ g_free(ctx);
+ }
feed_item_free(item);
}
diff --git a/src/plugins/rssyl/rssyl_add_item.c b/src/plugins/rssyl/rssyl_add_item.c
@@ -363,6 +363,7 @@ void rssyl_add_item(RFolderItem *ritem, FeedItem *feed_item)
}
g_free(ctx->path);
+ g_free(ctx);
feed_item_free(old_item);
old_item = NULL;
}
diff --git a/src/plugins/rssyl/rssyl_deleted.c b/src/plugins/rssyl/rssyl_deleted.c
@@ -235,6 +235,10 @@ void rssyl_deleted_add(RFolderItem *ritem, gchar *path)
g_free(deleted_file);
rssyl_deleted_free(deleted_items);
+
+ RFeedCtx *ctx = (RFeedCtx *)fitem->data;
+ g_free(ctx->path);
+ g_free(ctx);
feed_item_free(fitem);
}
diff --git a/src/plugins/rssyl/rssyl_update_comments.c b/src/plugins/rssyl/rssyl_update_comments.c
@@ -130,6 +130,9 @@ void rssyl_update_comments(RFolderItem *ritem)
STATUSBAR_POP(mainwin);
+ RFeedCtx *ctx = (RFeedCtx *)fi->data;
+ g_free(ctx->path);
+ g_free(ctx);
feed_item_free(fi);
}