diff options
author | Danny Al-Gaaf <danny.al-gaaf@bisect.de> | 2013-07-22 12:05:43 +0200 |
---|---|---|
committer | Danny Al-Gaaf <danny.al-gaaf@bisect.de> | 2013-07-22 12:58:28 +0200 |
commit | 8e8596d20179bd3ae0d93cbf84264fb15500db97 (patch) | |
tree | 5c904529f4b58896ba78d48974910507034359b2 | |
parent | 3e9439300007626869fd277e3258514aae203873 (diff) | |
download | ceph-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.cc | 11 |
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)); |