summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDanny Al-Gaaf <danny.al-gaaf@bisect.de>2013-07-22 12:05:43 +0200
committerDanny Al-Gaaf <danny.al-gaaf@bisect.de>2013-07-22 12:58:28 +0200
commit8e8596d20179bd3ae0d93cbf84264fb15500db97 (patch)
tree5c904529f4b58896ba78d48974910507034359b2
parent3e9439300007626869fd277e3258514aae203873 (diff)
downloadceph-8e8596d20179bd3ae0d93cbf84264fb15500db97.tar.gz
test_cls_version.cc: fix resource leak, delete before new()
Fix some more cases where resource wasn't deleted/freed before call new(). CID 1049216 (#1-9 of 9): Resource leak (RESOURCE_LEAK) overwrite_var: Overwriting "op" in "op = new_op()" leaks the storage that "op" points to. Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
-rw-r--r--src/test/cls_version/test_cls_version.cc11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/test/cls_version/test_cls_version.cc b/src/test/cls_version/test_cls_version.cc
index f9aa94e8f4f..acce4f00cf4 100644
--- a/src/test/cls_version/test_cls_version.cc
+++ b/src/test/cls_version/test_cls_version.cc
@@ -137,7 +137,6 @@ TEST(cls_rgw, test_version_inc_cond)
/* add chains */
string oid = "obj";
-
/* create object */
ASSERT_EQ(0, ioctx.create(oid, true));
@@ -161,6 +160,7 @@ TEST(cls_rgw, test_version_inc_cond)
/* inc version again! */
+ delete op;
op = new_op();
cls_version_inc(*op);
ASSERT_EQ(0, ioctx.operate(oid, op));
@@ -181,18 +181,22 @@ TEST(cls_rgw, test_version_inc_cond)
ASSERT_EQ(0, (int)ver2.tag.compare(ver.tag));
/* a bunch of conditions that should fail */
+ delete op;
op = new_op();
cls_version_inc(*op, cond_ver, VER_COND_EQ);
ASSERT_EQ(-ECANCELED, ioctx.operate(oid, op));
+ delete op;
op = new_op();
cls_version_inc(*op, cond_ver, VER_COND_LT);
ASSERT_EQ(-ECANCELED, ioctx.operate(oid, op));
+ delete op;
op = new_op();
cls_version_inc(*op, cond_ver, VER_COND_LE);
ASSERT_EQ(-ECANCELED, ioctx.operate(oid, op));
+ delete op;
op = new_op();
cls_version_inc(*op, cond_ver, VER_COND_TAG_NE);
ASSERT_EQ(-ECANCELED, ioctx.operate(oid, op));
@@ -202,18 +206,22 @@ TEST(cls_rgw, test_version_inc_cond)
ASSERT_EQ(0, (int)ver2.tag.compare(ver.tag));
/* a bunch of conditions that should succeed */
+ delete op;
op = new_op();
cls_version_inc(*op, ver2, VER_COND_EQ);
ASSERT_EQ(0, ioctx.operate(oid, op));
+ delete op;
op = new_op();
cls_version_inc(*op, cond_ver, VER_COND_GT);
ASSERT_EQ(0, ioctx.operate(oid, op));
+ delete op;
op = new_op();
cls_version_inc(*op, cond_ver, VER_COND_GE);
ASSERT_EQ(0, ioctx.operate(oid, op));
+ delete op;
op = new_op();
cls_version_inc(*op, cond_ver, VER_COND_TAG_EQ);
ASSERT_EQ(0, ioctx.operate(oid, op));
@@ -276,6 +284,7 @@ TEST(cls_rgw, test_version_inc_check)
obj_version ver2;
+ delete op;
op = new_op();
cls_version_inc(*op);
ASSERT_EQ(0, ioctx.operate(oid, op));