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);


Reply via email to