aboutsummaryrefslogtreecommitdiffstats
path: root/cdr.c
diff options
context:
space:
mode:
authortilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b>2005-12-19 05:38:44 +0000
committertilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b>2005-12-19 05:38:44 +0000
commit13dd62e383d87f4e4209bf8e4a3ee33e94a05e62 (patch)
treec57b118497fd5bcbad2424511ccb744ad5205d04 /cdr.c
parent4a16f855a32f312b39b9c2dab0c859a30a5a7ece (diff)
Bug 6026 - segfault for the sequence NoCDR(), SetAMAFlags()
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2@7521 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'cdr.c')
-rw-r--r--cdr.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/cdr.c b/cdr.c
index ef9162dc1..d9cff74bd 100644
--- a/cdr.c
+++ b/cdr.c
@@ -710,12 +710,15 @@ int ast_cdr_setaccount(struct ast_channel *chan, const char *account)
int ast_cdr_setamaflags(struct ast_channel *chan, const char *flag)
{
- struct ast_cdr *cdr = chan->cdr;
+ struct ast_cdr *cdr;
int newflag;
newflag = ast_cdr_amaflags2int(flag);
- if (newflag)
- cdr->amaflags = newflag;
+ if (newflag) {
+ for (cdr = chan->cdr; cdr; cdr = cdr->next) {
+ cdr->amaflags = newflag;
+ }
+ }
return 0;
}