diff options
author | Alexander Batischev <eual.jp@gmail.com> | 2017-08-27 22:37:02 +0300 |
---|---|---|
committer | Alexander Batischev <eual.jp@gmail.com> | 2017-09-16 21:01:06 +0300 |
commit | c8fea2f60c18ed30bdd1bb6f798e994e51a58260 (patch) | |
tree | 3202d47e820603ec4cc5921b61ecef5ea9389eec | |
parent | 1bc93b8d12a48279a11d8ee3613d31cc04e55ed5 (diff) |
Work around shell code in podcast names (#598)
-rw-r--r-- | src/pb_controller.cpp | 6 | ||||
-rw-r--r-- | src/queueloader.cpp | 2 |
2 files changed, 4 insertions, 4 deletions
diff --git a/src/pb_controller.cpp b/src/pb_controller.cpp index e46594f3..a6581f5e 100644 --- a/src/pb_controller.cpp +++ b/src/pb_controller.cpp @@ -367,9 +367,9 @@ void pb_controller::play_file(const std::string& file) { if (player == "") return; cmdline.append(player); - cmdline.append(" \""); - cmdline.append(utils::replace_all(file,"\"", "\\\"")); - cmdline.append("\""); + cmdline.append(" '"); + cmdline.append(utils::replace_all(file,"'", "%27")); + cmdline.append("'"); stfl::reset(); utils::run_interactively(cmdline, "pb_controller::play_file"); } diff --git a/src/queueloader.cpp b/src/queueloader.cpp index 15047b6e..980f185d 100644 --- a/src/queueloader.cpp +++ b/src/queueloader.cpp @@ -130,7 +130,7 @@ std::string queueloader::get_filename(const std::string& str) { strftime(lbuf, sizeof(lbuf), "%Y-%b-%d-%H%M%S.unknown", localtime(&t)); fn.append(lbuf); } else { - fn.append(base); + fn.append(utils::replace_all(base, "'", "%27")); } return fn; } |