]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
res_calendar: Resolve memory leak on calendar destruction
authorSean Bright <sean.bright@gmail.com>
Thu, 24 Oct 2019 14:15:14 +0000 (10:15 -0400)
committerSean Bright <sean.bright@gmail.com>
Thu, 24 Oct 2019 14:18:28 +0000 (09:18 -0500)
Calling ne_uri_parse allocates memory that needs to be freed with a
corresponding call to ne_uri_free.

ASTERISK-28572 #close

Change-Id: I8a6834da27000a6807d89cb7a157b2a88fcb5e61

res/res_calendar_ews.c
res/res_calendar_exchange.c
res/res_calendar_icalendar.c

index c12fb012e045fcfd9a6ab0f485ef35fa2add8503..e4d250ca8e83e31678b58cc336eff78c51a8f932 100644 (file)
@@ -118,6 +118,7 @@ static void ewscal_destructor(void *obj)
        if (pvt->session) {
                ne_session_destroy(pvt->session);
        }
+       ne_uri_free(&pvt->uri);
        ast_string_field_free_memory(pvt);
 
        ao2_callback(pvt->events, OBJ_UNLINK | OBJ_NODATA | OBJ_MULTIPLE, NULL, NULL);
index 21c1c1a84f5b6d760ebc4e7be6a003509928a5fd..6d624c1331a5018e877fb52e81d72fb9c3fa6cf0 100644 (file)
@@ -224,6 +224,7 @@ static void exchangecal_destructor(void *obj)
        if (pvt->session) {
                ne_session_destroy(pvt->session);
        }
+       ne_uri_free(&pvt->uri);
        ast_string_field_free_memory(pvt);
 
        ao2_callback(pvt->events, OBJ_UNLINK | OBJ_NODATA | OBJ_MULTIPLE, NULL, NULL);
index 4f78f9a3a7b6a0fbb48767c99f0f899bedb79b87..debb55c82af395ad95d33756bc6acf17ce8d444b 100644 (file)
@@ -78,6 +78,7 @@ static void icalendar_destructor(void *obj)
        if (pvt->data) {
                icalcomponent_free(pvt->data);
        }
+       ne_uri_free(&pvt->uri);
        ast_string_field_free_memory(pvt);
 
        ao2_callback(pvt->events, OBJ_UNLINK | OBJ_NODATA | OBJ_MULTIPLE, NULL, NULL);