]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Fix memory leak in res_calendar_ews when event email address node is empty
authorMatthew Jordan <mjordan@digium.com>
Fri, 6 Apr 2012 22:00:11 +0000 (22:00 +0000)
committerMatthew Jordan <mjordan@digium.com>
Fri, 6 Apr 2012 22:00:11 +0000 (22:00 +0000)
If the XML calendar data returned by a Microsoft Exchange Web Service
specifies an XML Event E-Mail Address ("EmailAddress"), and no e-mail address
is provided, a condition existed where an ast_calendar_attendee struct would
be allocated but not appended to the list of attendees.  Because of that,
the memory associated with the attendee would never be freed.  This patch
frees the memory if no e-mail address is provided.
........

Merged revisions 361606 from http://svn.asterisk.org/svn/asterisk/branches/1.8

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@361607 65c4cc65-6c06-0410-ace0-fbb531ad65f3

res/res_calendar_ews.c

index 51761127eb626265d8b4c0eedaf6c5716a6a920f..d33f4be4fb1c41de67f57b839584c988bf2f9af1 100644 (file)
@@ -424,6 +424,8 @@ static int endelm(void *userdata, int state, const char *nspace, const char *nam
                if (ast_str_strlen(ctx->cdata)) {
                        attendee->data = ast_strdup(ast_str_buffer(ctx->cdata));
                        AST_LIST_INSERT_TAIL(&ctx->event->attendees, attendee, next);
+               } else {
+                       ast_free(attendee);
                }
                ast_debug(3, "EWS: XML: attendee address '%s'\n", ast_str_buffer(ctx->cdata));
                ast_str_reset(ctx->cdata);