]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-7912: [mod_conference] fix for v1.4 branch to not allocate for conference cdr...
authorMichael Jerris <mike@jerris.com>
Thu, 27 Aug 2015 19:15:47 +0000 (15:15 -0400)
committerMichael Jerris <mike@jerris.com>
Fri, 28 Aug 2015 19:43:35 +0000 (14:43 -0500)
src/mod/applications/mod_conference/mod_conference.c

index 434805705c1403da594ea762292708770a605565..cba36648b4a0cb112326c69c225801eb1b6d5f72 100644 (file)
@@ -812,6 +812,8 @@ static void process_al(al_handle_t *al, void *data, switch_size_t datalen, int r
 
 static void conference_cdr_del(conference_member_t *member)
 {
+       if (!member->cdr_node) return;
+
        if (member->channel) {
                switch_channel_get_variables(member->channel, &member->cdr_node->var_event);
        }
@@ -826,6 +828,8 @@ static void conference_cdr_add(conference_member_t *member)
        switch_caller_profile_t *cp;
        switch_channel_t *channel;
 
+       if (zstr(member->conference->log_dir) && (member->conference->cdr_event_mode == CDRE_NONE)) return;
+
        np = switch_core_alloc(member->conference->pool, sizeof(*np));
 
        np->next = member->conference->cdr_nodes;
@@ -857,6 +861,8 @@ static void conference_cdr_rejected(conference_obj_t *conference, switch_channel
        conference_cdr_reject_t *rp;
        switch_caller_profile_t *cp;
 
+       if (zstr(conference->log_dir) && (conference->cdr_event_mode == CDRE_NONE)) return;
+
        rp = switch_core_alloc(conference->pool, sizeof(*rp));
 
        rp->next = conference->cdr_rejected;