From: Matthew Jordan Date: Wed, 30 Jan 2013 14:12:19 +0000 (+0000) Subject: Fix memory leak in res_calendar_icalendar X-Git-Tag: 1.8.21.0-rc1~6 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=bfbb5ddd7d1a27dad4d2eda9da4583d4f8101ad9;p=thirdparty%2Fasterisk.git Fix memory leak in res_calendar_icalendar The ICalendar module had a systemic memory leak on each fetch of data from the ICalendar source. The previous fetched data was not being properly disposed. This patch makes it so that before each fetch of data, we dispose of the previously fetched data. (closes issue ASTERISK-21012) Reported by: Joel Vandal Tested by: Joel Vandal git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@380451 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/res/res_calendar_icalendar.c b/res/res_calendar_icalendar.c index a2fcaa000e..7ee22f5c74 100644 --- a/res/res_calendar_icalendar.c +++ b/res/res_calendar_icalendar.c @@ -468,6 +468,11 @@ static void *ical_load_calendar(void *void_data) ast_debug(10, "Refreshing after %d minute timeout\n", pvt->owner->refresh); + /* Free the old calendar data */ + if (pvt->data) { + icalcomponent_free(pvt->data); + pvt->data = NULL; + } if (!(pvt->data = fetch_icalendar(pvt))) { ast_log(LOG_WARNING, "Unable to parse iCalendar '%s'\n", pvt->owner->name); continue;