From f43b1f49d1ccdbd669d3dcc52f3f53a236c624e8 Mon Sep 17 00:00:00 2001 From: Danny Al-Gaaf Date: Tue, 30 May 2017 12:31:19 +0200 Subject: [PATCH] test/librados/aio.cc: silence coverity with scope_guard Fix for: CID 1313405 (#1 of 1): Resource leak (RESOURCE_LEAK) leaked_storage: Variable my_completion2 going out of scope leaks the storage it points to. CID 1219522 (#1 of 1): Resource leak (RESOURCE_LEAK) leaked_storage: Variable my_completion going out of scope leaks the storage it points to. CID 1219501 (#1 of 1): Resource leak (RESOURCE_LEAK) leaked_storage: Variable my_completion going out of scope leaks the storage it points to. CID 1313406 (#1 of 1): Resource leak (RESOURCE_LEAK) leaked_storage: Variable my_completion2 going out of scope leaks the storage it points to. Signed-off-by: Danny Al-Gaaf --- src/test/librados/aio.cc | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/test/librados/aio.cc b/src/test/librados/aio.cc index d795b84683f..23b9bba109b 100644 --- a/src/test/librados/aio.cc +++ b/src/test/librados/aio.cc @@ -4,6 +4,7 @@ #include "test/librados/test.h" #include "include/types.h" #include "include/stringify.h" +#include "include/scope_guard.h" #include "gtest/gtest.h" #include @@ -257,6 +258,7 @@ TEST(LibRadosAio, SimpleWrite) { ASSERT_EQ("", test_data.init()); ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data, set_completion_complete, set_completion_safe, &my_completion)); + auto sg = make_scope_guard([&] { rados_aio_release(my_completion); }); char buf[128]; memset(buf, 0xcc, sizeof(buf)); ASSERT_EQ(0, rados_aio_write(test_data.m_ioctx, "foo", @@ -272,6 +274,7 @@ TEST(LibRadosAio, SimpleWrite) { rados_completion_t my_completion2; ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data, set_completion_complete, set_completion_safe, &my_completion2)); + auto sg2 = make_scope_guard([&] { rados_aio_release(my_completion2); }); ASSERT_EQ(0, rados_aio_write(test_data.m_ioctx, "foo", my_completion2, buf, sizeof(buf), 0)); { @@ -280,8 +283,6 @@ TEST(LibRadosAio, SimpleWrite) { sem_wait(test_data.m_sem); } ASSERT_EQ(0, rados_aio_get_return_value(my_completion2)); - rados_aio_release(my_completion); - rados_aio_release(my_completion2); } TEST(LibRadosAio, SimpleWritePP) { @@ -2613,6 +2614,7 @@ TEST(LibRadosAioEC, SimpleWrite) { ASSERT_EQ("", test_data.init()); ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data, set_completion_completeEC, set_completion_safeEC, &my_completion)); + auto sg = make_scope_guard([&] { rados_aio_release(my_completion); }); char buf[128]; memset(buf, 0xcc, sizeof(buf)); ASSERT_EQ(0, rados_aio_write(test_data.m_ioctx, "foo", @@ -2628,6 +2630,7 @@ TEST(LibRadosAioEC, SimpleWrite) { rados_completion_t my_completion2; ASSERT_EQ(0, rados_aio_create_completion((void*)&test_data, set_completion_completeEC, set_completion_safeEC, &my_completion2)); + auto sg2 = make_scope_guard([&] { rados_aio_release(my_completion2); }); ASSERT_EQ(0, rados_aio_write(test_data.m_ioctx, "foo", my_completion2, buf, sizeof(buf), 0)); { @@ -2636,8 +2639,6 @@ TEST(LibRadosAioEC, SimpleWrite) { sem_wait(test_data.m_sem); } ASSERT_EQ(0, rados_aio_get_return_value(my_completion2)); - rados_aio_release(my_completion); - rados_aio_release(my_completion2); } TEST(LibRadosAioEC, SimpleWritePP) { -- 2.39.5