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

Seth McCarus updated AXIS2C-1664:
---------------------------------

    Affects Version/s:     (was: 1.6.0)
                       1.7.0

> Memory leak when replacing value of item in hash table
> ------------------------------------------------------
>
>                 Key: AXIS2C-1664
>                 URL: https://issues.apache.org/jira/browse/AXIS2C-1664
>             Project: Axis2-C
>          Issue Type: Bug
>          Components: core/transport
>    Affects Versions: 1.7.0
>         Environment: Windows 7
>            Reporter: Seth McCarus
>             Fix For: Next Version
>
>
> axis2_libcurl_send() in 
> axis2c\src\core\transport\http\sender\libcurl\axis2_libcurl.c has this call:
> axis2_transport_in_desc_add_param(transport_in, env, 
> param_expose_http_headers);
> this has the effect of replacing the existing "exposeHeaders" parameter in 
> the http transport_in object with a new parameter of the same name.  
> axis2_transport_in_desc_add_param() calls axutil_param_container_add_param(), 
> which calls axutil_hash_set() to replace the param in the hash table.  
> axutil_hash_set has this code:
>             /* replace entry */
>             (*hep)->val = val;
>             /* check that the collision rate isn't too high */
>             if(ht->count > ht->max)
>             {
>                 axutil_hash_expand_array(ht);
>             }
> however the original "val" is not freed, so the existing parameter is leaked. 
>  the proper fix would be to delete val before replacing it, but I'm not sure 
> how that could be done (in my limited knowledge of Axis).  my fix was to 
> delete the exposeHeaders param in axis2_transport_in_desc_add_param by 
> calling axutil_param_container_delete_param before calling 
> axutil_param_container_add_param, but this fixes only the specific case, and 
> not other cases of hash table leaks.
> This was observed in v1.7.0.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

---------------------------------------------------------------------
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