do not dereference p if we know it is NULL.
authorLuigi Rizzo <rizzo@icir.org>
Sun, 8 Oct 2006 14:10:26 +0000 (14:10 +0000)
committerLuigi Rizzo <rizzo@icir.org>
Sun, 8 Oct 2006 14:10:26 +0000 (14:10 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@44745 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_sip.c

index 4ddc742..f8f4992 100644 (file)
@@ -14332,7 +14332,10 @@ retrylock:
 
        /* Find the active SIP dialog or create a new one */
        p = find_call(&req, &sin, req.method);  /* returns p locked */
-       if (p) {
+       if (p == NULL) {
+               if (option_debug)
+                       ast_log(LOG_DEBUG, "Invalid SIP message - rejected , no callid, len %d\n", req.len);
+       } else {
                /* Go ahead and lock the owner if it has one -- we may need it */
                /* becaues this is deadlock-prone, we need to try and unlock if failed */
                if (p->owner && ast_channel_trylock(p->owner)) {
@@ -14368,9 +14371,6 @@ retrylock:
                if (p->owner && !nounlock)
                        ast_channel_unlock(p->owner);
                ast_mutex_unlock(&p->lock);
-       } else {
-               if (option_debug)
-                       ast_log(LOG_DEBUG, "Invalid SIP message - rejected , bad request: %-70.70s\n", p->callid[0] ? p->callid : "<no callid>");
        }
        ast_mutex_unlock(&netlock);
        if (recount)