[ 
https://issues.apache.org/jira/browse/AXIS2C-1628?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dmitry Utkin updated AXIS2C-1628:
---------------------------------

    Attachment: axis2c-1628_test_loentar.tar.bz2
                axis2c-1628_loentar.patch

I think creating deep copy of source sting is not a very good idea.

This is a patch that fixes the issue without SEGFAULT'ing server. It must be 
applied over current trunk.

This patch does not modify source string while parsing xml, instead that it 
modifies resulting attribute and element values, which is correct.

Also here is a modified version of test.

> axiom_node_create_from_buffer modifies the buffer.
> --------------------------------------------------
>
>                 Key: AXIS2C-1628
>                 URL: https://issues.apache.org/jira/browse/AXIS2C-1628
>             Project: Axis2-C
>          Issue Type: Bug
>          Components: guththila
>    Affects Versions: 1.6.0
>         Environment: Linux
>            Reporter: Wes Munsil
>            Priority: Blocker
>         Attachments: axis2c-1628_loentar.patch, axis2c-1628.patch, 
> axis2c-1628.tar.gz, axis2c-1628_test_loentar.tar.bz2, 
> echo_xml_from_buffer.tar.bz2
>
>
> axiom_node_create_from_buffer modifies the buffer. Running this code
>     char * xml =  strdup("<foo>T1 &amp; T2</foo>");
>     AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "before: %s", xml);
>     axiom_node_create_from_buffer(env, xml);
>     AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "after:  %s", xml);
> produces this output:
>     before: <foo>T1 &amp; T2</foo>
>     after:  <foo>T1 & T2; T2</foo>
> In some environments, if the strdup is omitted, a SEGV results, presumably on 
> attempting to modify the string literal.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

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

Reply via email to