summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDanny Al-Gaaf <danny.al-gaaf@bisect.de>2013-05-28 12:43:12 +0200
committerDanny Al-Gaaf <danny.al-gaaf@bisect.de>2013-05-28 12:43:12 +0200
commit478b576a7157e9916273613c368ab6613ecceb08 (patch)
treefbd88d632535665473980242aa1c6962f40caf76 /src
parenta6df7644b67f1a9aacff153d365acaf3e95afcf2 (diff)
downloadceph-478b576a7157e9916273613c368ab6613ecceb08.tar.gz
kv_flat_btree_async.cc: fix AioCompletion resource leak
Call AioCompletion::release() if the completion is no longer needed. CID 727978 (#1-2 of 2): Resource leak (RESOURCE_LEAK) leaked_storage: Variable "obj_aioc" going out of scope leaks the storage it points to. Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
Diffstat (limited to 'src')
-rw-r--r--src/key_value_store/kv_flat_btree_async.cc2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/key_value_store/kv_flat_btree_async.cc b/src/key_value_store/kv_flat_btree_async.cc
index 77d11b0951c..d8836a01ef4 100644
--- a/src/key_value_store/kv_flat_btree_async.cc
+++ b/src/key_value_store/kv_flat_btree_async.cc
@@ -669,11 +669,13 @@ int KvFlatBtreeAsync::read_object(const string &obj, object_data * odata) {
err = obj_aioc->get_return_value();
if (err < 0){
//possibly -ENOENT, meaning someone else deleted it.
+ obj_aioc->release();
return err;
}
odata->unwritable = string(unw_bl.c_str(), unw_bl.length()) == "1";
odata->version = obj_aioc->get_version();
odata->size = odata->omap.size();
+ obj_aioc->release();
return 0;
}