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
This commit is contained in:
Alexandr Anikin 2012-06-20 17:48:20 +00:00
parent 5837ef8124
commit b5e299ca2e
2 changed files with 2 additions and 3 deletions

View File

@ -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)

View File

@ -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);