mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-22 20:56:39 +00:00
Merged revisions 297952 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r297952 | twilson | 2010-12-09 14:48:44 -0600 (Thu, 09 Dec 2010) | 10 lines Don't crash after Set(CDR(userfield)=...) in ast_bridge_call Instead of setting peer->cdr = NULL, set it to not post. (closes issue #18415) Reported by: macbrody Patches: patch-18415 uploaded by jsolares (license 1167) Tested by: jsolares, twilson ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@297956 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -3091,6 +3091,7 @@ int ast_bridge_call(struct ast_channel *chan,struct ast_channel *peer,struct ast
|
||||
int hasfeatures=0;
|
||||
int hadfeatures=0;
|
||||
int autoloopflag;
|
||||
int we_disabled_peer_cdr = 0;
|
||||
struct ast_option_header *aoh;
|
||||
struct ast_cdr *bridge_cdr = NULL;
|
||||
struct ast_cdr *orig_peer_cdr = NULL;
|
||||
@@ -3158,9 +3159,9 @@ int ast_bridge_call(struct ast_channel *chan,struct ast_channel *peer,struct ast
|
||||
ast_cdr_appenduserfield(chan, tmp);
|
||||
} else
|
||||
ast_cdr_setuserfield(chan, peer->cdr->userfield);
|
||||
/* free the peer's cdr without ast_cdr_free complaining */
|
||||
ast_free(peer->cdr);
|
||||
peer->cdr = NULL;
|
||||
/* Don't delete the CDR; just disable it. */
|
||||
ast_set_flag(peer->cdr, AST_CDR_FLAG_POST_DISABLED);
|
||||
we_disabled_peer_cdr = 1;
|
||||
}
|
||||
ast_copy_string(orig_channame,chan->name,sizeof(orig_channame));
|
||||
ast_copy_string(orig_peername,peer->name,sizeof(orig_peername));
|
||||
@@ -3600,6 +3601,9 @@ int ast_bridge_call(struct ast_channel *chan,struct ast_channel *peer,struct ast
|
||||
ast_cdr_specialized_reset(new_peer_cdr, 0);
|
||||
}
|
||||
} else {
|
||||
if (we_disabled_peer_cdr) {
|
||||
ast_clear_flag(peer->cdr, AST_CDR_FLAG_POST_DISABLED);
|
||||
}
|
||||
ast_cdr_specialized_reset(peer->cdr, 0); /* nothing changed, reset the peer cdr */
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user