[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[tor-commits] [tor/master] Fix additional leaks in #22103 tests



commit 38a13b91a8d1f2eff623d3a6d125ccaf17164cf6
Author: Taylor Yu <catalyst@xxxxxxxxxxxxxx>
Date:   Wed May 3 13:08:32 2017 -0400

    Fix additional leaks in #22103 tests
    
    test_options_validate_impl() incorrectly executed subsequent phases of
    config parsing and validation after an expected error.  This caused
    msg to leak when those later phases (which would likely produce errors
    as well) overwrote it.
---
 src/test/test_options.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/test/test_options.c b/src/test/test_options.c
index 291147b..d10a933 100644
--- a/src/test/test_options.c
+++ b/src/test/test_options.c
@@ -187,6 +187,8 @@ test_options_validate_impl(const char *configuration,
       goto done;
   }
   tt_int_op((r == 0), OP_EQ, (msg == NULL));
+  if (r)
+    goto done;
 
   r = config_assign(&options_format, opt, cl, 0, &msg);
   if (phase == PH_ASSIGN) {
@@ -196,6 +198,8 @@ test_options_validate_impl(const char *configuration,
       goto done;
   }
   tt_int_op((r == 0), OP_EQ, (msg == NULL));
+  if (r)
+    goto done;
 
   r = options_validate(NULL, opt, dflt, 0, &msg);
   if (phase == PH_VALIDATE) {

_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits