From 3f8cf4a59d7ae20261d2cd5967d75d7cc6c2569b Mon Sep 17 00:00:00 2001 From: Travis Cross Date: Sat, 12 Apr 2014 04:30:19 +0000 Subject: [PATCH] Fix memory leak in subscription handling We were leaking one event (~539 bytes) for every subscribe packet received with both an "event: as-feature-event" and an authorization header. --- src/mod/endpoints/mod_sofia/sofia_presence.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/mod/endpoints/mod_sofia/sofia_presence.c b/src/mod/endpoints/mod_sofia/sofia_presence.c index 345ed0b1d3..0bb24b0e11 100644 --- a/src/mod/endpoints/mod_sofia/sofia_presence.c +++ b/src/mod/endpoints/mod_sofia/sofia_presence.c @@ -3735,6 +3735,7 @@ void sofia_presence_handle_sip_i_subscribe(int status, auth_res = sofia_reg_parse_auth(profile, authorization, sip, de, (char *) sip->sip_request->rq_method_name, key, sizeof(key), network_ip, network_port, &v_event, 0, REG_REGISTER, to_user, NULL, NULL, NULL); + if (v_event) switch_event_destroy(&v_event); } else if ( sofia_reg_handle_register(nua, profile, nh, sip, de, REG_REGISTER, key, sizeof(key), &v_event, NULL, NULL, NULL)) { if (v_event) { switch_event_destroy(&v_event);