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

Supun Kamburugamuva updated AXIS2C-1154:
----------------------------------------

    Attachment: send_robust.patch

Here is a fix for handling incorrect message patterns configurations by users 
for send robust case. If we don't handle this it leads to invalid memory reads. 
I would like some one with more experience in this area to have a look before I 
apply the patch.

> multiple Invalid read of size 4 for client In-Only message
> ----------------------------------------------------------
>
>                 Key: AXIS2C-1154
>                 URL: https://issues.apache.org/jira/browse/AXIS2C-1154
>             Project: Axis2-C
>          Issue Type: Bug
>    Affects Versions: 1.4.0
>         Environment: linux fc5
>            Reporter: Frederic Heem
>         Attachments: notify_client.c, send_robust.patch
>
>
> When sending an "In-Only" message, valgrind complains about multiple invalid 
> read :
> ==13318== Invalid read of size 4
> ==13318==    at 0x4049F37: axis2_msg_ctx_get_transport_in_desc 
> (msg_ctx.c:1075)
> ==13318==    by 0x405577E: axis2_svc_client_set_http_info (svc_client.c:1703)
> ==13318==    by 0x40563D8: axis2_svc_client_send_robust_with_op_qname 
> (svc_client.c:571)
> ==13318==    by 0x804B477: axis2_stub_op_zigbee_PermitJoining 
> (axis2_stub_zigbee.c:1248)
> ==13318==    by 0x804A362: PermitJoining (zigbee_client.c:221)
> ==13318==    by 0x804A523: main (zigbee_client.c:132)
> ==13318==  Address 0x423a298 is 48 bytes inside a block of size 264 free'd
> ==13318==    at 0x40053CC: free (vg_replace_malloc.c:323)
> ==13318==    by 0x411289C: axutil_allocator_free_impl (allocator.c:91)
> ==13318==    by 0x404CBE9: axis2_msg_ctx_free (msg_ctx.c:540)
> ==13318==    by 0x4053E3C: axis2_op_client_add_msg_ctx (op_client.c:226)
> ==13318==    by 0x40544E4: axis2_op_client_execute (op_client.c:522)
> ==13318==    by 0x40563C9: axis2_svc_client_send_robust_with_op_qname 
> (svc_client.c:570)
> ==13318==    by 0x804B477: axis2_stub_op_zigbee_PermitJoining 
> (axis2_stub_zigbee.c:1248)
> ==13318==    by 0x804A362: PermitJoining (zigbee_client.c:221)
> ==13318==    by 0x804A523: main (zigbee_client.c:132)
> ==13318==
> ==13318== Invalid read of size 4
> ==13318==    at 0x4048447: axis2_msg_ctx_get_status_code (msg_ctx.c:2662)
> ==13318==    by 0x4055877: axis2_svc_client_set_http_info (svc_client.c:1756)
> ==13318==    by 0x40563D8: axis2_svc_client_send_robust_with_op_qname 
> (svc_client.c:571)
> ==13318==    by 0x804B477: axis2_stub_op_zigbee_PermitJoining 
> (axis2_stub_zigbee.c:1248)
> ==13318==    by 0x804A362: PermitJoining (zigbee_client.c:221)
> ==13318==    by 0x804A523: main (zigbee_client.c:132)
> ==13318==  Address 0x423a2f0 is 136 bytes inside a block of size 264 free'd
> ==13318==    at 0x40053CC: free (vg_replace_malloc.c:323)
> ==13318==    by 0x411289C: axutil_allocator_free_impl (allocator.c:91)
> ==13318==    by 0x404CBE9: axis2_msg_ctx_free (msg_ctx.c:540)
> ==13318==    by 0x4053E3C: axis2_op_client_add_msg_ctx (op_client.c:226)
> ==13318==    by 0x40544E4: axis2_op_client_execute (op_client.c:522)
> ==13318==    by 0x40563C9: axis2_svc_client_send_robust_with_op_qname 
> (svc_client.c:570)
> ==13318==    by 0x804B477: axis2_stub_op_zigbee_PermitJoining 
> (axis2_stub_zigbee.c:1248)
> ==13318==    by 0x804A362: PermitJoining (zigbee_client.c:221)
> ==13318==    by 0x804A523: main (zigbee_client.c:132)
> ==13318==
> ==13318== Invalid read of size 4
> ==13318==    at 0x4048347: axis2_msg_ctx_get_auth_failed (msg_ctx.c:2683)
> ==13318==    by 0x40563E4: axis2_svc_client_send_robust_with_op_qname 
> (svc_client.c:572)
> ==13318==    by 0x804B477: axis2_stub_op_zigbee_PermitJoining 
> (axis2_stub_zigbee.c:1248)
> ==13318==    by 0x804A362: PermitJoining (zigbee_client.c:221)
> ==13318==    by 0x804A523: main (zigbee_client.c:132)
> ==13318==  Address 0x423a360 is 248 bytes inside a block of size 264 free'd
> ==13318==    at 0x40053CC: free (vg_replace_malloc.c:323)
> ==13318==    by 0x411289C: axutil_allocator_free_impl (allocator.c:91)
> ==13318==    by 0x404CBE9: axis2_msg_ctx_free (msg_ctx.c:540)
> ==13318==    by 0x4053E3C: axis2_op_client_add_msg_ctx (op_client.c:226)
> ==13318==    by 0x40544E4: axis2_op_client_execute (op_client.c:522)
> ==13318==    by 0x40563C9: axis2_svc_client_send_robust_with_op_qname 
> (svc_client.c:570)
> ==13318==    by 0x804B477: axis2_stub_op_zigbee_PermitJoining 
> (axis2_stub_zigbee.c:1248)
> ==13318==    by 0x804A362: PermitJoining (zigbee_client.c:221)
> ==13318==    by 0x804A523: main (zigbee_client.c:132)
> ==13318==
> ==13318== Invalid read of size 4
> ==13318==    at 0x4048147: axis2_msg_ctx_get_required_auth_is_http 
> (msg_ctx.c:2725)
> ==13318==    by 0x40563F6: axis2_svc_client_send_robust_with_op_qname 
> (svc_client.c:573)
> ==13318==    by 0x804B477: axis2_stub_op_zigbee_PermitJoining 
> (axis2_stub_zigbee.c:1248)
> ==13318==    by 0x804A362: PermitJoining (zigbee_client.c:221)
> ==13318==    by 0x804A523: main (zigbee_client.c:132)
> ==13318==  Address 0x423a364 is 252 bytes inside a block of size 264 free'd
> ==13318==    at 0x40053CC: free (vg_replace_malloc.c:323)
> ==13318==    by 0x411289C: axutil_allocator_free_impl (allocator.c:91)
> ==13318==    by 0x404CBE9: axis2_msg_ctx_free (msg_ctx.c:540)
> ==13318==    by 0x4053E3C: axis2_op_client_add_msg_ctx (op_client.c:226)
> ==13318==    by 0x40544E4: axis2_op_client_execute (op_client.c:522)
> ==13318==    by 0x40563C9: axis2_svc_client_send_robust_with_op_qname 
> (svc_client.c:570)
> ==13318==    by 0x804B477: axis2_stub_op_zigbee_PermitJoining 
> (axis2_stub_zigbee.c:1248)
> ==13318==    by 0x804A362: PermitJoining (zigbee_client.c:221)
> ==13318==    by 0x804A523: main (zigbee_client.c:132)
> ==13318==
> ==13318== Invalid read of size 4
> ==13318==    at 0x4048017: axis2_msg_ctx_get_auth_type (msg_ctx.c:2761)
> ==13318==    by 0x804B477: axis2_stub_op_zigbee_PermitJoining 
> (axis2_stub_zigbee.c:1248)
> ==13318==    by 0x804A362: PermitJoining (zigbee_client.c:221)
> ==13318==    by 0x804A523: main (zigbee_client.c:132)
> ==13318==  Address 0x423a368 is 256 bytes inside a block of size 264 free'd
> ==13318==    at 0x40053CC: free (vg_replace_malloc.c:323)
> ==13318==    by 0x411289C: axutil_allocator_free_impl (allocator.c:91)
> ==13318==    by 0x404CBE9: axis2_msg_ctx_free (msg_ctx.c:540)
> ==13318==    by 0x4053E3C: axis2_op_client_add_msg_ctx (op_client.c:226)
> ==13318==    by 0x40544E4: axis2_op_client_execute (op_client.c:522)
> ==13318==    by 0x40563C9: axis2_svc_client_send_robust_with_op_qname 
> (svc_client.c:570)
> ==13318==    by 0x804B477: axis2_stub_op_zigbee_PermitJoining 
> (axis2_stub_zigbee.c:1248)
> ==13318==    by 0x804A362: PermitJoining (zigbee_client.c:221)
> ==13318==    by 0x804A523: main (zigbee_client.c:132)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to