You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by sa...@apache.org on 2004/12/29 09:08:39 UTC

cvs commit: ws-axis/c/src/soap SoapDeSerializer.cpp SoapFault.cpp

samisa      2004/12/29 00:08:39

  Modified:    c/src/soap SoapDeSerializer.cpp SoapFault.cpp
  Log:
  Fix more memory leaks. Part of AXISCPP-339.
  
  Revision  Changes    Path
  1.121     +4 -1      ws-axis/c/src/soap/SoapDeSerializer.cpp
  
  Index: SoapDeSerializer.cpp
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/src/soap/SoapDeSerializer.cpp,v
  retrieving revision 1.120
  retrieving revision 1.121
  diff -u -r1.120 -r1.121
  --- SoapDeSerializer.cpp	29 Dec 2004 06:36:48 -0000	1.120
  +++ SoapDeSerializer.cpp	29 Dec 2004 08:08:39 -0000	1.121
  @@ -483,11 +483,14 @@
   	if (pcDetail)
   	{
   	    pFault->setFaultDetail (pcDetail);
  +            delete [] pcDetail;          
   	}
   	else
   	{
   	    pcCmplxFaultName = getCmplxFaultObjectName ();
  -	    pFault->setCmplxFaultObjectName (pcCmplxFaultName);
  +	    pFault->setCmplxFaultObjectName (pcCmplxFaultName == NULL ? "" : pcCmplxFaultName);
  +            if ( pcCmplxFaultName )
  +                delete [] pcCmplxFaultName;
   	}
   
   	setStyle (m_nStyle);
  
  
  
  1.46      +4 -0      ws-axis/c/src/soap/SoapFault.cpp
  
  Index: SoapFault.cpp
  ===================================================================
  RCS file: /home/cvs/ws-axis/c/src/soap/SoapFault.cpp,v
  retrieving revision 1.45
  retrieving revision 1.46
  diff -u -r1.45 -r1.46
  --- SoapFault.cpp	17 Dec 2004 11:49:46 -0000	1.45
  +++ SoapFault.cpp	29 Dec 2004 08:08:39 -0000	1.46
  @@ -68,6 +68,10 @@
       m_pFaultstringParam = NULL;
       m_pFaultactorParam = NULL;
       m_pFaultDetail = NULL;
  +
  +    // Samisa: may need to have a copy constructor to do deep copies of this member
  +    // Asummung there is only once SoapFault object instance here
  +    delete m_pCmplxFaultObject;
   }
   
   int SoapFault::serialize(SoapSerializer& pSZ, SOAP_VERSION eSoapVersion)