You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@apr.apache.org by yl...@apache.org on 2021/09/10 00:17:24 UTC

svn commit: r1893202 - in /apr/apr/trunk/test: abts.c abts.h sendfile.c

Author: ylavic
Date: Fri Sep 10 00:17:24 2021
New Revision: 1893202

URL: http://svn.apache.org/viewvc?rev=1893202&view=rev
Log:
test: fix memory leaks of the test framework at exit.

To please memory leak analysers..

Modified:
    apr/apr/trunk/test/abts.c
    apr/apr/trunk/test/abts.h
    apr/apr/trunk/test/sendfile.c

Modified: apr/apr/trunk/test/abts.c
URL: http://svn.apache.org/viewvc/apr/apr/trunk/test/abts.c?rev=1893202&r1=1893201&r2=1893202&view=diff
==============================================================================
--- apr/apr/trunk/test/abts.c (original)
+++ apr/apr/trunk/test/abts.c Fri Sep 10 00:17:24 2021
@@ -125,7 +125,7 @@ abts_suite *abts_add_suite(abts_suite *s
                                 suite_name, p - suite_name);
     }
     else {
-        subsuite->name = suite_name;
+        subsuite->name = strdup(suite_name);
     }
 
     if (list_tests) {
@@ -157,6 +157,21 @@ abts_suite *abts_add_suite(abts_suite *s
     return suite;
 }
 
+static void abts_free_suite(abts_suite *suite)
+{
+    if (suite) {
+        sub_suite *dptr, *next;
+
+        for (dptr = suite->head; dptr; dptr = next) {
+            next = dptr->next;
+            free(dptr->name);
+            free(dptr);
+        }
+
+        free(suite);
+    }
+}
+
 void abts_run_test(abts_suite *ts, test_func f, void *value)
 {
     abts_case tc;
@@ -483,6 +498,7 @@ int main(int argc, const char *const arg
     }
 
     rv = report(suite);
+    abts_free_suite(suite);
     return rv;
 }
        

Modified: apr/apr/trunk/test/abts.h
URL: http://svn.apache.org/viewvc/apr/apr/trunk/test/abts.h?rev=1893202&r1=1893201&r2=1893202&view=diff
==============================================================================
--- apr/apr/trunk/test/abts.h (original)
+++ apr/apr/trunk/test/abts.h Fri Sep 10 00:17:24 2021
@@ -39,7 +39,7 @@ extern "C" {
 #endif
 
 struct sub_suite {
-    const char *name;
+    char *name;
     int num_test;
     int failed;
     int skipped;

Modified: apr/apr/trunk/test/sendfile.c
URL: http://svn.apache.org/viewvc/apr/apr/trunk/test/sendfile.c?rev=1893202&r1=1893201&r2=1893202&view=diff
==============================================================================
--- apr/apr/trunk/test/sendfile.c (original)
+++ apr/apr/trunk/test/sendfile.c Fri Sep 10 00:17:24 2021
@@ -274,7 +274,7 @@ static int client(apr_pool_t *p, client_
     hdtr.headers[0].iov_len  = strlen(hdtr.headers[0].iov_base);
     hdtr.headers[1].iov_base = HDR2;
     hdtr.headers[1].iov_len  = strlen(hdtr.headers[1].iov_base);
-    hdtr.headers[2].iov_base = malloc(HDR3_LEN);
+    hdtr.headers[2].iov_base = apr_palloc(p, HDR3_LEN);
     assert(hdtr.headers[2].iov_base);
     memset(hdtr.headers[2].iov_base, HDR3_CHAR, HDR3_LEN);
     hdtr.headers[2].iov_len  = HDR3_LEN;
@@ -285,9 +285,9 @@ static int client(apr_pool_t *p, client_
     hdtr.trailers[0].iov_len  = strlen(hdtr.trailers[0].iov_base);
     hdtr.trailers[1].iov_base = TRL2;
     hdtr.trailers[1].iov_len  = strlen(hdtr.trailers[1].iov_base);
-    hdtr.trailers[2].iov_base = malloc(TRL3_LEN);
-    memset(hdtr.trailers[2].iov_base, TRL3_CHAR, TRL3_LEN);
+    hdtr.trailers[2].iov_base = apr_palloc(p, TRL3_LEN);
     assert(hdtr.trailers[2].iov_base);
+    memset(hdtr.trailers[2].iov_base, TRL3_CHAR, TRL3_LEN);
     hdtr.trailers[2].iov_len  = TRL3_LEN;
 
     expected_len =