From a4e2255c872d45ba1fdb43da0c604ed1509bf0fa Mon Sep 17 00:00:00 2001 From: Richard Berger Date: Tue, 20 Apr 2021 14:31:11 -0400 Subject: [PATCH] Avoid memory leak in case of errors/exceptions in add_fix --- src/modify.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/modify.cpp b/src/modify.cpp index 79a0ecd41f..246b855913 100644 --- a/src/modify.cpp +++ b/src/modify.cpp @@ -964,13 +964,12 @@ void Modify::add_fix(int narg, char **arg, int trysuffix) void Modify::add_fix(const std::string &fixcmd, int trysuffix) { auto args = utils::split_words(fixcmd); - char **newarg = new char*[args.size()]; - int i=0; + std::vector newarg(args.size()); + int i = 0; for (const auto &arg : args) { newarg[i++] = (char *)arg.c_str(); } - add_fix(args.size(),newarg,trysuffix); - delete[] newarg; + add_fix(args.size(),newarg.data(),trysuffix); }