fix: shell injection in gitCommit projectDir, test directory cleanup

- gitCommit() now uses double quotes for projectDir consistently with
  gitPush/gitPull/gitStatus (was single quotes, breaking on paths with
  apostrophes like "John's Project")
- Test suite auto-cleans test_output_formats/ directory via Catch2
  event listener after all tests complete (was leaving empty dir)
This commit is contained in:
Kelsi 2026-05-05 15:16:20 -07:00
parent 90142cb0df
commit 961d863f82
2 changed files with 11 additions and 1 deletions

View file

@ -85,7 +85,7 @@ bool EditorProject::gitCommit(const std::string& message) const {
if (c == '\'' || c == '\\') safe += '\\';
safe += c;
}
int ret = std::system(("cd '" + projectDir + "' && git add -A && "
int ret = std::system(("cd \"" + projectDir + "\" && git add -A && "
"git commit -m '" + safe + "'").c_str());
return ret == 0;
}