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

Jacob S. Barrett reassigned GEODE-4839:
---------------------------------------

    Assignee: Jacob S. Barrett

> Fix type of persistenceInfo parameter on PersistenceManager methods
> -------------------------------------------------------------------
>
>                 Key: GEODE-4839
>                 URL: https://issues.apache.org/jira/browse/GEODE-4839
>             Project: Geode
>          Issue Type: Improvement
>          Components: native client
>            Reporter: Blake Bender
>            Assignee: Jacob S. Barrett
>            Priority: Major
>
> Most/all of the methods on the PersistenceManager object take a parameter 
> called persistenceInfo with type 'void*&'.  This presents a number of issues, 
> not the least of which is that, were the parameter actually used, it could 
> leak memory on every call.  The callee is allowed to swap out the incoming 
> value for a newly allocated pointer during any call, and the caller has no 
> way to know when _or how_ to free the memory, since it's a void pointer.  If 
> we change the type of persistenceInfo to std::shared_ptr<void>&, it will be 
> properly accounted for and deleted when no longer in use.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to