Hi Vu

Ack (review only)

On 2/7/18, 4:23 pm, "Vu Minh Nguyen" <vu.m.ngu...@dektech.com.au> wrote:

    Valgrind reports mismatched free() / delete / delete [].
    ---
     src/imm/immnd/ImmModel.cc | 32 ++++++++++++++++++--------------
     1 file changed, 18 insertions(+), 14 deletions(-)
    
    diff --git a/src/imm/immnd/ImmModel.cc b/src/imm/immnd/ImmModel.cc
    index 80ba6efac..145c60d6c 100644
    --- a/src/imm/immnd/ImmModel.cc
    +++ b/src/imm/immnd/ImmModel.cc
    @@ -6744,8 +6744,8 @@ SaAisErrorT ImmModel::ccbTerminate(SaUint32T ccbId) {
             errStr->next = NULL;
             free(errStr);
           }
    -      free(ccb->mAugCcbParent);
    -      ccb->mAugCcbParent = NULL;
    +      delete ccb->mAugCcbParent;
    +      ccb->mAugCcbParent = nullptr;
         }
         // TODO(?) Would be neat to store ccb outcomes in the OpenSafImm 
object.
       }
    @@ -8532,7 +8532,8 @@ SaAisErrorT ImmModel::ccbObjectCreate(
                 continue;
               }
     
    -          p = new immsv_attr_values_list;
    +          p = static_cast<immsv_attr_values_list* >(
    +              calloc(1, sizeof(immsv_attr_values_list)));
               (*trailing_p) = p;
               p->n.attrName.size = (SaUint32T)attrName.size() + 1;
               p->n.attrName.buf = strdup(attrName.c_str());
    @@ -11275,8 +11276,8 @@ void 
ImmModel::ccbObjDelContinuation(immsv_oi_ccb_upcall_rsp* rsp,
     
         ccb->mAugCcbParent->mErrorStrings = NULL;
         ccb->mAugCcbParent->mContinuationId = 0;
    -    free(ccb->mAugCcbParent);
    -    ccb->mAugCcbParent = NULL;
    +    delete ccb->mAugCcbParent;
    +    ccb->mAugCcbParent = nullptr;
       }
     
       ObjectMutationMap::iterator omuti = ccb->mMutations.find(objectName);
    @@ -11360,8 +11361,8 @@ void 
ImmModel::ccbCompletedContinuation(immsv_oi_ccb_upcall_rsp* rsp,
     
         ccb->mAugCcbParent->mErrorStrings = NULL;
         ccb->mAugCcbParent->mContinuationId = 0;
    -    free(ccb->mAugCcbParent);
    -    ccb->mAugCcbParent = NULL;
    +    delete ccb->mAugCcbParent;
    +    ccb->mAugCcbParent = nullptr;
       }
     
       if (ccb->mState == IMM_CCB_VALIDATED) {
    @@ -11545,8 +11546,8 @@ void ImmModel::ccbObjCreateContinuation(SaUint32T 
ccbId, SaUint32T invocation,
     
         ccb->mAugCcbParent->mErrorStrings = NULL;
         ccb->mAugCcbParent->mContinuationId = 0;
    -    free(ccb->mAugCcbParent);
    -    ccb->mAugCcbParent = NULL;
    +    delete ccb->mAugCcbParent;
    +    ccb->mAugCcbParent = nullptr;
       }
     
       /* Only send response when ccb continuation is not purged */
    @@ -11650,8 +11651,8 @@ void ImmModel::ccbObjModifyContinuation(SaUint32T 
ccbId, SaUint32T invocation,
     
         ccb->mAugCcbParent->mErrorStrings = NULL;
         ccb->mAugCcbParent->mContinuationId = 0;
    -    free(ccb->mAugCcbParent);
    -    ccb->mAugCcbParent = NULL;
    +    delete ccb->mAugCcbParent;
    +    ccb->mAugCcbParent = nullptr;
       }
     
       /* Only send response when ccb continuation is not purged */
    @@ -16751,7 +16752,8 @@ SaAisErrorT ImmModel::rtObjectCreate(
               */
               attrValue->setValueC_str(
                   object->mImplementer->mImplementerName.c_str());
    -          p = new immsv_attr_values_list;
    +          p = static_cast<immsv_attr_values_list* >(
    +              calloc(1, sizeof(immsv_attr_values_list)));
               p->n.attrName.size = (SaUint32T)attrName.size() + 1;
               p->n.attrName.buf = strdup(attrName.c_str());
               p->n.attrValueType = SA_IMM_ATTR_SASTRINGT;
    @@ -16771,7 +16773,8 @@ SaAisErrorT ImmModel::rtObjectCreate(
               Class-name is needed by special aplier, will be ignored by
               PBE if not persistent.
             */
    -        p = new immsv_attr_values_list;
    +        p = static_cast<immsv_attr_values_list* >(
    +            calloc(1, sizeof(immsv_attr_values_list)));
             p->n.attrName.size = (SaUint32T)attrName.size() + 1;
             p->n.attrName.buf = strdup(attrName.c_str());
             p->n.attrValueType = SA_IMM_ATTR_SASTRINGT;
    @@ -16842,7 +16845,8 @@ SaAisErrorT ImmModel::rtObjectCreate(
               attrValues = attrValues->next;
             }
             if (!attrValues) {
    -          p = new immsv_attr_values_list;
    +          p = static_cast<immsv_attr_values_list* >(
    +              calloc(1, sizeof(immsv_attr_values_list)));
               p->n.attrName.size = (SaUint32T)attrName.size() + 1;
               p->n.attrName.buf = strdup(attrName.c_str());
               p->n.attrValueType = (SaImmValueTypeT)attr->mValueType;
    -- 
    2.18.0
    
    
    
------------------------------------------------------------------------------
    Check out the vibrant tech community on one of the world's most
    engaging tech sites, Slashdot.org! http://sdm.link/slashdot
    _______________________________________________
    Opensaf-devel mailing list
    Opensaf-devel@lists.sourceforge.net
    https://lists.sourceforge.net/lists/listinfo/opensaf-devel
    



------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to