From: Alexandr Anikin Date: Wed, 20 Jun 2012 17:36:27 +0000 (+0000) Subject: fix locking issue on empty callList X-Git-Tag: 10.7.0-rc1~3^2~27 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=79204921568377e7ec277bcada62f38e9b35e2d0;p=thirdparty%2Fasterisk.git 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 git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@369147 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/addons/ooh323c/src/ooCalls.c b/addons/ooh323c/src/ooCalls.c index 046b5fcf4c..70677ab0af 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 202595f5dd..fb9526915d 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);