Author: ivan Date: Tue Nov 3 16:22:34 2015 New Revision: 1712320 URL: http://svn.apache.org/viewvc?rev=1712320&view=rev Log: Destroy wrapped bucket in copy bucket.
Discussion: http://mail-archives.apache.org/mod_mbox/serf-dev/201511.mbox/%3ccabw-3ycbvkfjze0ttergbguej_fz7dg8vf_bmrab2qra6nb...@mail.gmail.com%3E * buckets/copy_buckets.c (serf_copy_destroy): Destroy CTX->WRAPPED bucket. * test/test_buckets.c (test_copy_bucket): Destroy tested copy bucket and do not reuse wrapped aggregate bucket since it will be destroyed. Modified: serf/trunk/buckets/copy_buckets.c serf/trunk/test/test_buckets.c Modified: serf/trunk/buckets/copy_buckets.c URL: http://svn.apache.org/viewvc/serf/trunk/buckets/copy_buckets.c?rev=1712320&r1=1712319&r2=1712320&view=diff ============================================================================== --- serf/trunk/buckets/copy_buckets.c (original) +++ serf/trunk/buckets/copy_buckets.c Tue Nov 3 16:22:34 2015 @@ -313,6 +313,7 @@ static void serf_copy_destroy(serf_bucke if (ctx->hold_buf) serf_bucket_mem_free(bucket->allocator, ctx->hold_buf); + serf_bucket_destroy(ctx->wrapped); serf_default_destroy_and_data(bucket); } Modified: serf/trunk/test/test_buckets.c URL: http://svn.apache.org/viewvc/serf/trunk/test/test_buckets.c?rev=1712320&r1=1712319&r2=1712320&view=diff ============================================================================== --- serf/trunk/test/test_buckets.c (original) +++ serf/trunk/test/test_buckets.c Tue Nov 3 16:22:34 2015 @@ -1125,8 +1125,10 @@ static void test_copy_bucket(CuTest *tc) CuAssertIntEquals(tc, APR_EOF, status); CuAssertIntEquals(tc, strlen(BODY), len); + serf_bucket_destroy(copybkt); - /* Just reuse the existing aggbkt. Fill again */ + /* Fill again aggregate bucket again. */ + aggbkt = serf_bucket_aggregate_create(alloc); copybkt = serf_bucket_copy_create(aggbkt, 35, alloc); bkt = SERF_BUCKET_SIMPLE_STRING_LEN(BODY, 20, alloc); serf_bucket_aggregate_append(aggbkt, bkt); @@ -1148,7 +1150,10 @@ static void test_copy_bucket(CuTest *tc) CuAssertIntEquals(tc, APR_EOF, discard_data(copybkt, &len)); CuAssertIntEquals(tc, strlen(BODY) - 35, len); - /* Just reuse the existing aggbkt. Fill again */ + serf_bucket_destroy(copybkt); + + /* Fill again aggregate bucket again. */ + aggbkt = serf_bucket_aggregate_create(alloc); copybkt = serf_bucket_copy_create(aggbkt, 45, alloc); bkt = SERF_BUCKET_SIMPLE_STRING_LEN(BODY, 20, alloc); serf_bucket_aggregate_append(aggbkt, bkt);