From 8e8596d20179bd3ae0d93cbf84264fb15500db97 Mon Sep 17 00:00:00 2001 From: Danny Al-Gaaf Date: Mon, 22 Jul 2013 12:05:43 +0200 Subject: [PATCH] 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 --- src/test/cls_version/test_cls_version.cc | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) 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)); -- 2.47.3