From: Danny Al-Gaaf Date: Mon, 22 Jul 2013 10:05:43 +0000 (+0200) Subject: test_cls_version.cc: fix resource leak, delete before new() X-Git-Tag: v0.67-rc3~60^2~3 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=8e8596d20179bd3ae0d93cbf84264fb15500db97;p=ceph.git 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 --- diff --git a/src/test/cls_version/test_cls_version.cc b/src/test/cls_version/test_cls_version.cc index f9aa94e8f4f1..acce4f00cf4c 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));