I was looking through the c-client code and noticed a situation where a counter can be incorrectly incremented and a small memory leak can occur.
In zookeeper.c : add_completion(), if close_requested is true, then the completion will not be queued. But at the end, outstanding_sync is still incremented and free() never called on the newly allocated completion_list_t.
I will submit for review a diff that I believe corrects this issue.
|Assignee||Jared Cantwell [ jaredc ]|
|Fix Version/s||3.3.2 [ 12315108 ]|
|Fix Version/s||3.4.0 [ 12314469 ]|
|Status||Open [ 1 ]||Patch Available [ 10002 ]|
|Status||Patch Available [ 10002 ]||Resolved [ 5 ]|
|Resolution||Fixed [ 1 ]|
|Status||Resolved [ 5 ]||Closed [ 6 ]|
|Transition||Time In Source Status||Execution Times||Last Executer||Last Execution Date|
|1h 58m||1||Patrick Hunt||14/Oct/10 21:34|
|13d 21h 16m||1||Mahadev konar||28/Oct/10 18:51|
|391d 30m||1||Mahadev konar||23/Nov/11 19:22|