[ http://issues.apache.org/jira/browse/AXISCPP-920?page=comments#action_12364072 ]
Adrian Dick commented on AXISCPP-920: ------------------------------------- I'm a little confused as to what code you're currently using. It appears to me that you're working with the code in the old CVS repository, rather than the SVN repository - the web services projects migrated across at the end of August. Looking in the SVN log, the section of code above was removed in September, as can be seen here: http://svn.apache.org/viewcvs.cgi/webservices/axis/trunk/c/src/soap/xsd/NonPositiveInteger.cpp?rev=280324&r1=264831&r2=280324&diff_format=h Instructions for obtaining the latest code from SVN can be found here: http://ws.apache.org/axis/cpp/developers-guide.html#checkingOut > Use of deleted pointer in NonPositiveInteger::serialize > ------------------------------------------------------- > > Key: AXISCPP-920 > URL: http://issues.apache.org/jira/browse/AXISCPP-920 > Project: Axis-C++ > Type: Bug > Components: Serialization > Versions: 1.6 Final > Environment: All platforms, this issue was found in nightly CVS drop > 20060125052126 > Reporter: Emanuel Norrbin > > File: soap\xsd\NonPositiveInteger.cpp > Method: AxisChar* NonPositiveInteger::serialize(const > xsd__nonPositiveInteger* value) > Row: 152 - 161 > This is a snippet of the code to illustrate the problem, starting on line 152. > // ** maxInclusive is deleted. > delete maxInclusive; > MaxExclusive* maxExclusive = getMaxExclusive(); > if (maxExclusive->isSet()) > { > if ( *value <= maxExclusive->getMaxExclusiveAsUnsignedLONGLONG() ) > { > AxisString exceptionMessage = > "Value to be serialized is greater than or equal to MaxExclusive > specified for this type. MaxExclusive = "; > //** Here maxInclusive is used again, after being deleted. > if (maxInclusive->getMaxInclusiveAsUnsignedLONGLONG() != 0) > { > exceptionMessage += "-"; > } > Probably line 161 should read > if (maxExclusive->getMaxExclusiveAsUnsignedLONGLONG() != 0) > or maxInclusive should not be deleted until later. > I would recommend use of std::auto_ptr to keep track of memory allocation > here, > which has the added benefit of making the code exception safe. Note that this > file has > numerous memory leaks in case an exception is thrown! > /Emanuel -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira