From b5e299ca2edb352ba9676dda4fa92c21848b1b85 Mon Sep 17 00:00:00 2001 From: Alexandr Anikin Date: Wed, 20 Jun 2012 17:48:20 +0000 Subject: fix locking issue on empty callList (issue ASTERISK-19298) Reported by: Dmitry Melekhov Patches: ASTERISK-18322-2.patch ........ Merged revisions 369146 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 369147 from http://svn.asterisk.org/svn/asterisk/branches/10 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@369148 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- addons/ooh323c/src/ooCalls.c | 3 +-- addons/ooh323c/src/ooq931.c | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) (limited to 'addons/ooh323c/src') diff --git a/addons/ooh323c/src/ooCalls.c b/addons/ooh323c/src/ooCalls.c index 046b5fcf4..70677ab0a 100644 --- a/addons/ooh323c/src/ooCalls.c +++ b/addons/ooh323c/src/ooCalls.c @@ -265,14 +265,13 @@ int ooEndCall(OOH323CallData *call) int ooRemoveCallFromList (OOH323CallData *call) { - if(!call) + if(!call || !gH323ep.callList) return OO_OK; ast_mutex_lock(&callListLock); OOTRACEINFO3("Removing call %lx: %s\n", call, call->callToken); - if (!gH323ep.callList) return OO_OK; if(call == gH323ep.callList) { if(!call->next) diff --git a/addons/ooh323c/src/ooq931.c b/addons/ooh323c/src/ooq931.c index 202595f5d..fb9526915 100644 --- a/addons/ooh323c/src/ooq931.c +++ b/addons/ooh323c/src/ooq931.c @@ -2373,7 +2373,7 @@ int ooH323MakeCall(char *dest, char *callToken, ooCallOptions *opts) else OO_CLRFLAG(call->flags, OO_M_TUNNELING); - if(opts->disableGk) + if(opts->disableGk || gH323ep.gkClient == NULL) OO_SETFLAG(call->flags, OO_M_DISABLEGK); else OO_CLRFLAG(call->flags, OO_M_DISABLEGK); -- cgit v1.2.3