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 "Samisa Abeysinghe (JIRA)" <ax...@ws.apache.org> on 2004/11/25 10:12:19 UTC

[jira] Resolved: (AXISCPP-284) Problem returning a pointer with c_str() to an unnamed string object in SimpleAxisTransport.cpp

     [ http://nagoya.apache.org/jira/browse/AXISCPP-284?page=history ]
     
Samisa Abeysinghe resolved AXISCPP-284:
---------------------------------------

    Resolution: Fixed

Added std::string m_strTransportPropertyURI; and std::string m_strTransportPropertyOperation; to SimpleAxisTransport.h to fix the problem.


> Problem returning a pointer with c_str() to an unnamed string object in SimpleAxisTransport.cpp
> -----------------------------------------------------------------------------------------------
>
>          Key: AXISCPP-284
>          URL: http://nagoya.apache.org/jira/browse/AXISCPP-284
>      Project: Axis-C++
>         Type: Bug
>     Versions: 1.3 Final
>  Environment: Windows
>     Reporter: Samisa Abeysinghe
>     Assignee: Samisa Abeysinghe
>      Fix For: 1.4 Alpha

>
> On Wed, 24 Nov 2004, Steve Hardy wrote:
> > Hey there,
> >
> > I was looking at why axis doesn't want te run on my win32 platform,
> and
> > came across the following (bad) problem:
> >
> > SimpleAxisTransport.cpp, line 244:
> >
> > return m_strSOAPAction.substr(uiOpStart,
> > 		m_strSOAPAction.length () -
> > 		uiOpStart).c_str();
> >
> > This is a *bad thing* because you are returning a pointer with 
> c_str()
> to
> > an unnamed string object (the one returned by substr) which is out of
> > context when you return the function. This seems to work in linux, 
> (as
> > long as the stack isn't clobbered), but in windows this fails in 
> debug
> > mode for sure, and probably in release mode too (MSVC++ 6.0).
> >
> > I'd recommend recoding this to returning a string object or having a
> > c_str() pointer from the m_strSOAPAction object as this doesn't go 
> out
> of
> > context.
> >
> > Yours,
> >   Steve Hardy
> And the same problem on line 230 with m_strServiceURI
> fixing these two problems (and using Xerces, expat didn't seem to 
> work),
> fixes the simpleserver on win32.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://nagoya.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira