b4n commented on this pull request.
@@ -817,7 +816,8 @@ static gchar *prepare_run_cmd(GeanyDocument *doc, gchar **working_dir, guint cmd
{ if (vc->skip_run_script) { - utils_free_pointers(2, cmd_string_utf8, working_dir_utf8, NULL); + utils_free_pointers(3, cmd_string_utf8, working_dir_utf8, + *working_dir, NULL);
Yeah, and as in this code path the function doesn't return `NULL` (or shouldn't, at least), it's expected that `*working_dir` contains the working directory.
I think this change is wrong. @ntrel did you actually measure a memory leak, or can this be coming from a misinterpretation of the code? (which might suggest it should be made clearer, but well)