From d37076a33296877fee3154db689f2990785aed94 Mon Sep 17 00:00:00 2001 From: Bent Bisballe Nyeng Date: Sat, 14 Jan 2023 18:14:03 +0100 Subject: Escape all user-input strings when writing configuration.cc --- src/util.cc | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/util.cc') diff --git a/src/util.cc b/src/util.cc index 601fd54..08a135f 100644 --- a/src/util.cc +++ b/src/util.cc @@ -188,3 +188,20 @@ ctor::target_type target_type_from_extension(const std::filesystem::path& file) return ctor::target_type::unknown; } + +std::string esc(const std::string& in) +{ + std::string out; + for(auto c : in) + { + switch(c) + { + case '\\': out += "\\\\"; break; + case '"': out += "\\\""; break; + default: + out += c; + break; + } + } + return out; +} -- cgit v1.2.3