From 38a13b91a8d1f2eff623d3a6d125ccaf17164cf6 Mon Sep 17 00:00:00 2001 From: Taylor Yu Date: Wed, 3 May 2017 13:08:32 -0400 Subject: [PATCH] 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 291147be6c..d10a93305a 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) {