From fb4fb86f3d56377dc5650ffbfea7f68d6d4be071 Mon Sep 17 00:00:00 2001 From: Darth Vader Date: Fri, 10 May 2024 20:39:41 +0000 Subject: [PATCH] Squashed 'src/' changes from c035d9c3..8f6cb45a 8f6cb45a Pad needed a free. Ran all test cases. 56ba6801 Freed result from strexpr git-subtree-dir: src git-subtree-split: 8f6cb45a04ca40ea253c0f3ca90f52427d99592d --- PBasic.cpp | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/PBasic.cpp b/PBasic.cpp index 62d118515..8701fde15 100644 --- a/PBasic.cpp +++ b/PBasic.cpp @@ -3211,13 +3211,15 @@ factor(struct LOC_exec * LINK) case tokpad_: case tokpad: { + char* str; n.stringval = true; require(toklp, LINK); - string1 = strexpr(LINK); + str = strexpr(LINK); require(tokcomma, LINK); i = intexpr(LINK); require(tokrp, LINK); - n.UU.sval = PhreeqcPtr->string_pad(string1, i); + n.UU.sval = PhreeqcPtr->string_pad(str, i); + PhreeqcPtr->PHRQ_free(str); } break; @@ -3249,6 +3251,7 @@ factor(struct LOC_exec * LINK) break; } std::string min_string = min_name; + PhreeqcPtr->PHRQ_free(min_name); Utilities::str_tolower(min_string); std::map >::const_iterator it = PhreeqcPtr->rate_parameters_pk.find(min_string); if (it == PhreeqcPtr->rate_parameters_pk.end()) @@ -3420,6 +3423,7 @@ factor(struct LOC_exec * LINK) break; } std::string min_string = min_name; + PhreeqcPtr->PHRQ_free(min_name); Utilities::str_tolower(min_string); std::map >::const_iterator it = PhreeqcPtr->rate_parameters_svd.find(min_string); if (it == PhreeqcPtr->rate_parameters_svd.end()) @@ -3574,6 +3578,7 @@ factor(struct LOC_exec * LINK) break; } std::string min_string = min_name; + PhreeqcPtr->PHRQ_free(min_name); Utilities::str_tolower(min_string); std::map >::const_iterator it = PhreeqcPtr->rate_parameters_hermanska.find(min_string); if (it == PhreeqcPtr->rate_parameters_hermanska.end()) @@ -3667,6 +3672,7 @@ factor(struct LOC_exec * LINK) break; } std::string min_string = min_name; + PhreeqcPtr->PHRQ_free(min_name); Utilities::str_tolower(min_string); std::map::const_iterator it = PhreeqcPtr->mean_gammas.find(min_string); if (it == PhreeqcPtr->mean_gammas.end() || it->second.size() == 0) @@ -5403,7 +5409,9 @@ cmdput_(struct LOC_exec* LINK) require(toklp, LINK); /* get first argumen */ - std::string s_value = strexpr(LINK); + char* str = strexpr(LINK); + std::string s_value = str; + PhreeqcPtr->PHRQ_free(str); for (;;) {