You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@axis.apache.org by "nadir amra (JIRA)" <ax...@ws.apache.org> on 2006/07/26 08:39:14 UTC

[jira] Closed: (AXISCPP-920) Use of deleted pointer in NonPositiveInteger::serialize

     [ http://issues.apache.org/jira/browse/AXISCPP-920?page=all ]

nadir amra closed AXISCPP-920.
------------------------------


> Use of deleted pointer in NonPositiveInteger::serialize
> -------------------------------------------------------
>
>                 Key: AXISCPP-920
>                 URL: http://issues.apache.org/jira/browse/AXISCPP-920
>             Project: Axis-C++
>          Issue Type: Bug
>          Components: Serialization
>    Affects Versions:  1.6 Final
>         Environment: All platforms, this issue was found in nightly CVS drop 20060125052126
>            Reporter: Emanuel Norrbin
>             Fix For: current (nightly)
>
>
> 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

        

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-dev-help@ws.apache.org