]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
chan_ooh323: Fix cppcheck warnings
authorAlexander Anikin <may213@yandex.ru>
Wed, 18 Apr 2018 10:32:34 +0000 (13:32 +0300)
committerAlexander Anikin <may213@yandex.ru>
Wed, 18 Apr 2018 10:39:31 +0000 (04:39 -0600)
Fix cppcheck warnings about redundant conditions and possible
null pointer usage

ASTERISK-27793 #close
Reported by: Ilya Shipitsin
Tested by: Ilya Shipitsin

Change-Id: I0b31933b062a23331dbac9a82b8bcfe345f406f6

addons/chan_ooh323.c
addons/ooh323c/src/context.c
addons/ooh323c/src/memheap.c
addons/ooh323c/src/ooCalls.c
addons/ooh323c/src/ooCapability.c
addons/ooh323c/src/ooGkClient.c
addons/ooh323c/src/ooh245.c
addons/ooh323c/src/ooq931.c

index 91f6e8fa9b51eeb6bec8d9008f5b5323fb569d3e..d39573e7f0b3abfe9cc60ceb9804b52c34d07c32 100644 (file)
@@ -5053,9 +5053,7 @@ struct ast_frame *ooh323_rtp_read(struct ast_channel *ast, struct ooh323_pvt *p)
                                        ast_log(LOG_NOTICE, "Failed to async goto '%s' into fax of '%s'\n", ast_channel_name(p->owner),target_context);
                                }
                                p->faxdetected = 1;
-                               if (dfr) {
-                                       ast_frfree(dfr);
-                               }
+                               ast_frfree(dfr);
                                return &ast_null_frame;
                        }
                }
index d163402195904fbb7a25170c9756056328db281b..bcc7c70fbd757aeadf56f7f4c0f1a6cba258e6e1 100644 (file)
@@ -163,6 +163,7 @@ OOCTXT* newContext ()
          /* ASN1CRTFREE0 (pctxt); */
         free(pctxt);
          pctxt = 0;
+         return (pctxt);
       }
       pctxt->flags |= ASN1DYNCTXT;
    }
index ada6013852ef75e2ad100c01d83911b42e5729b0..f90cfb7d6128f25aed05a21fe289117a777a6c6d 100644 (file)
@@ -622,7 +622,7 @@ void memHeapFreePtr (void** ppvMemHeap, void* mem_p)
             }
          }
       }
-      if (!ISLAST (pElem) && ISFREE (GETNEXT (pElem))) {
+      if (pElem && !ISLAST (pElem) && ISFREE (GETNEXT (pElem))) {
          OSMemElemDescr* nextelem_p = GETNEXT (pElem);
 
          /* +1 because the OSMemElemDescr has size ONE unit (8 bytes) */
@@ -637,7 +637,7 @@ void memHeapFreePtr (void** ppvMemHeap, void* mem_p)
       }
 
       /* correct the prevOff field of next element */
-      if (!ISLAST (pElem)) {
+      if (pElem && !ISLAST (pElem)) {
          OSMemElemDescr* nextelem_p = GETNEXT (pElem);
          pElem_prevOff (nextelem_p) = QOFFSETOF (nextelem_p, pElem);
       }
@@ -685,7 +685,7 @@ static void initNewFreeElement (OSMemBlk* pMemBlk,
    }
 
    pNextElem = GETNEXT (pNewElem);
-   if (ISFREE (pNextElem)) {
+   if (pNextElem && ISFREE (pNextElem)) {
 
       /* if the next elem is free, then unite them together */
 
@@ -819,7 +819,7 @@ void* memHeapRealloc (void** ppvMemHeap, void* mem_p, int nbytes_)
             /* look for free element after pElem */
 
             pNextElem = GETNEXT (pElem);
-            if (ISFREE (pNextElem)) {
+            if (pNextElem && ISFREE (pNextElem)) {
                /* +1 'cos sizeof (OSMemElemDescr) == 1 unit */
                sumSize += pElem_nunits (pNextElem) + 1;
                freeMem++;
@@ -1061,7 +1061,7 @@ void memHeapAddRef (void** ppvMemHeap)
 void memHeapRelease (void** ppvMemHeap)
 {
    OSMemHeap** ppMemHeap = (OSMemHeap**)ppvMemHeap;
-   OSMemHeap* pMemHeap = *ppMemHeap;
+   OSMemHeap* pMemHeap;
 
    if (ppMemHeap != 0 && *ppMemHeap != 0 && --(*ppMemHeap)->refCnt == 0) {
       OSMemLink* pMemLink, *pMemLink2;
@@ -1079,6 +1079,7 @@ void memHeapRelease (void** ppvMemHeap)
       }
 
       if ((*ppMemHeap)->flags & RT_MH_FREEHEAPDESC) {
+         pMemHeap = *ppMemHeap;
          ast_mutex_destroy(&pMemHeap->pLock);
          free (*ppMemHeap);
       }
index 050fe655819559161bdb2e4d047b729bbba9bc4e..350befd60c834c71ddb57f5afb0d74028e2b0ad1 100644 (file)
@@ -804,8 +804,7 @@ int ooAddMediaInfo(OOH323CallData *call, OOMediaInfo mediaInfo)
 
    if(!call)
    {
-      OOTRACEERR3("Error:Invalid 'call' param for ooAddMediaInfo.(%s, %s)\n",
-                   call->callType, call->callToken);
+      OOTRACEERR1("Error:Invalid 'call' param for ooAddMediaInfo.\n");
       return OO_FAILED;
    }
    newMediaInfo = (OOMediaInfo*) memAlloc(call->pctxt, sizeof(OOMediaInfo));
index 7314783464d3b0f4cf4f4c184930da96b40030a0..0796c46bff376c0716e4991ca09f03d4110693be 100644 (file)
@@ -62,8 +62,6 @@ int ooCapabilityEnableDTMFCISCO
       /*Dynamic RTP payload type range is from 96 - 127 */
       if(dynamicRTPPayloadType >= 96 && dynamicRTPPayloadType <= 127)
         gcDynamicRTPPayloadType = dynamicRTPPayloadType;
-      else
-        call->dtmfcodec = dynamicRTPPayloadType;
    }
    else{
       call->dtmfmode |= OO_CAP_DTMF_CISCO;
@@ -623,8 +621,7 @@ int ooCapabilityAddT38Capability
    else pctxt = call->pctxt;
 
    epCap = (ooH323EpCapability*)memAllocZ(pctxt, sizeof(ooH323EpCapability));
-   params = (OOCapParams*) memAlloc(pctxt, sizeof(OOCapParams));
-   memset(params, 0 , sizeof(OOCapParams));
+   params = (OOCapParams*) memAllocZ(pctxt, sizeof(OOCapParams));
    if(!epCap || !params)
    {
       OOTRACEERR1("ERROR: Memory - ooCapabilityAddT38Capability - "
@@ -808,8 +805,7 @@ void* ooCapabilityCreateDTMFCapability(int cap, int dtmfcodec, OOCTXT *pctxt)
       }
       memset(pATECap, 0, sizeof(H245AudioTelephonyEventCapability));
       pATECap->dynamicRTPPayloadType = dtmfcodec;
-      events = (char*)memAlloc(pctxt, strlen("0-16")+1);
-      memset(events, 0, strlen("0-16")+1);
+      events = (char*)memAllocZ(pctxt, strlen("0-16")+1);
       if(!events)
       {
          OOTRACEERR1("Error:Memory - ooCapabilityCreateDTMFCapability - events\n");
index a307f4eefddd76c22876a032911ce81bb369efdc..0168ee7dee13f4e1e5dec5ad3c50fbb0ec3779b9 100644 (file)
@@ -2332,9 +2332,8 @@ int ooGkClientSendIRR
    pIRR->m.perCallInfoPresent = TRUE;
 
    perCallInfo =
-    (H225InfoRequestResponse_perCallInfo_element *)memAlloc(pctxt,
+    (H225InfoRequestResponse_perCallInfo_element *)memAllocZ(pctxt,
      sizeof(H225InfoRequestResponse_perCallInfo_element));
-   memset(perCallInfo, 0, sizeof(H225InfoRequestResponse_perCallInfo_element));
 
    if(!perCallInfo)
    {
index adff91790022d2fd387f5afd6981d9a173dce0b4..fe8ff28e08e8a235ebfce0d7a008c1f4c624ecf0 100644 (file)
@@ -356,7 +356,6 @@ int ooSendTermCapMsg(OOH323CallData *call)
    /* pctxt = &gH323ep.msgctxt; */
    pctxt = call->msgctxt;
    ph245msg->msgType = OOTerminalCapabilitySet;
-   memset(request, 0, sizeof(H245RequestMessage));
    if(request == NULL)
    {
       OOTRACEERR3("ERROR: No memory allocated for request message (%s, %s)\n",
@@ -364,6 +363,7 @@ int ooSendTermCapMsg(OOH323CallData *call)
       return OO_FAILED;
    }
 
+   memset(request, 0, sizeof(H245RequestMessage));
    request->t = T_H245RequestMessage_terminalCapabilitySet;
    request->u.terminalCapabilitySet = (H245TerminalCapabilitySet*)
                   memAlloc(pctxt, sizeof(H245TerminalCapabilitySet));
index 1ca361c2cc559f55347a33715b301b893e69ad2f..01a8e4aaf3473dac6c01d852ccdea6ffa1cb1438 100644 (file)
@@ -2439,8 +2439,10 @@ int ooH323HandleCallFwdRequest(OOH323CallData *call)
       alias = call->pCallFwdData->aliases;
       while(alias)
       {
-         pNewAlias = (ooAliases*) memAlloc(pctxt, sizeof(ooAliases));
-         pNewAlias->value = (char*) memAlloc(pctxt, strlen(alias->value)+1);
+         pNewAlias = (ooAliases*) memAllocZ(pctxt, sizeof(ooAliases));
+         if (pNewAlias) {
+            pNewAlias->value = (char*) memAllocZ(pctxt, strlen(alias->value)+1);
+         }
          if(!pNewAlias || !pNewAlias->value)
          {
             OOTRACEERR3("Error:Memory - ooH323HandleCallFwdRequest - "