]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
test_rgw_admin_log.cc: fix use-after-free
authorDanny Al-Gaaf <danny.al-gaaf@bisect.de>
Thu, 9 Oct 2014 13:55:30 +0000 (15:55 +0200)
committerDanny Al-Gaaf <danny.al-gaaf@bisect.de>
Thu, 9 Oct 2014 13:55:30 +0000 (15:55 +0200)
Fix for:

CID 1054876 (#1 of 1): Use after free (USE_AFTER_FREE)
 pass_freed_arg: Passing freed pointer bucket_obj as an
 argument to put_bucket_obj

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
src/test/test_rgw_admin_log.cc

index 8b1a22bac40c8c55bc4ff829cd67d49b0e5bce08..2049b254e6cdfaf40e168c2d41d4785f189fe5ab 100644 (file)
@@ -744,7 +744,6 @@ TEST(TestRGWAdmin, datalog_list) {
   char *bucket_obj = (char *)malloc(TEST_BUCKET_OBJECT_SIZE);
   ASSERT_TRUE(bucket_obj != NULL);
   EXPECT_EQ(put_bucket_obj(TEST_BUCKET_OBJECT, bucket_obj, TEST_BUCKET_OBJECT_SIZE), 0);
-  free(bucket_obj);
   sleep(1); 
   ss << "/admin/log?type=data&id=" << shard_id << "&start-time=" << start_time;
   rest_req = ss.str();
@@ -777,6 +776,7 @@ TEST(TestRGWAdmin, datalog_list) {
 
   sleep(1);
   EXPECT_EQ(put_bucket_obj(TEST_BUCKET_OBJECT, bucket_obj, TEST_BUCKET_OBJECT_SIZE), 0);
+  free(bucket_obj);
   sleep(20);
   ss.str("");
   ss << "/admin/log?type=data&id=" << shard_id << "&start-time=" << start_time;