From 469bc4789a774e3e775f091884ef247c8364e110 Mon Sep 17 00:00:00 2001 From: Michael Jerris Date: Fri, 15 May 2009 16:11:57 +0000 Subject: [PATCH] Wed May 13 12:14:18 CDT 2009 Pekka Pessi * nua_event_server.c: free temp strings Ignore-this: 18b592f7d6ae942a48cd117f7a6f3c31 Coverity issue. git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@13344 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- libs/sofia-sip/.update | 2 +- .../libsofia-sip-ua/nua/nua_event_server.c | 13 ++++++++++--- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/libs/sofia-sip/.update b/libs/sofia-sip/.update index 0405a9afbc..3f93b0eb44 100644 --- a/libs/sofia-sip/.update +++ b/libs/sofia-sip/.update @@ -1 +1 @@ -Fri May 15 11:10:31 CDT 2009 +Fri May 15 11:11:24 CDT 2009 diff --git a/libs/sofia-sip/libsofia-sip-ua/nua/nua_event_server.c b/libs/sofia-sip/libsofia-sip-ua/nua/nua_event_server.c index 6467a952d7..60e62fe7f2 100644 --- a/libs/sofia-sip/libsofia-sip-ua/nua/nua_event_server.c +++ b/libs/sofia-sip/libsofia-sip-ua/nua/nua_event_server.c @@ -144,9 +144,13 @@ nea_event_t *nh_notifier_event(nua_handle_t *nh, char const *ct_s = NULL; if (ev == NULL) { - char *o_type = su_strdup(home, event->o_type); - char *o_subtype = o_type ? strchr(o_type, '.') : NULL; + char *o_type, *o_subtype; + char *temp = NULL; + o_type = su_strdup(home, event->o_type); + if (o_type == NULL) + return NULL; + o_subtype = strchr(o_type, '.'); if (o_subtype) *o_subtype++ = '\0'; @@ -162,7 +166,7 @@ nea_event_t *nh_notifier_event(nua_handle_t *nh, * types */ if (accept_s == NULL && accept) - accept_s = sip_header_as_string(home, (sip_header_t *)accept); + accept_s = temp = sip_header_as_string(home, (sip_header_t *)accept); if (accept_s == NULL && ct) accept_s = ct->c_type; if (accept_s == NULL && ct_s) @@ -173,6 +177,9 @@ nea_event_t *nh_notifier_event(nua_handle_t *nh, o_type, o_subtype, ct ? ct->c_type : ct_s, accept_s); + + su_free(home, temp); + su_free(home, o_type); } return ev;