From ce1b3a0158c5c6407e58d8ff46f7e5d30f397fa6 Mon Sep 17 00:00:00 2001 From: arch1t3cht Date: Tue, 9 Aug 2022 02:43:43 +0200 Subject: [PATCH] avisynth: Validate downmix option Because... let's maybe not let users make Aegisub call arbitrary symbols in avisynth.dll/so just by editing the config.json. --- src/audio_provider_avs.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/audio_provider_avs.cpp b/src/audio_provider_avs.cpp index d249aa3d3..0daa77e8e 100644 --- a/src/audio_provider_avs.cpp +++ b/src/audio_provider_avs.cpp @@ -113,8 +113,9 @@ void AvisynthAudioProvider::LoadFromClip(AVSValue clip) { AVSValue script; // Convert to one channel - if (OPT_GET("Audio/Downmixer")->GetString() != "None") - script = env->Invoke(OPT_GET("Audio/Downmixer")->GetString().c_str(), clip); + std::string downmixtype = OPT_GET("Audio/Downmixer")->GetString(); + if (downmixtype == "ConvertToMono" || downmixtype == "GetLeftChannel" || downmixtype == "GetRightChannel") + script = env->Invoke(downmixtype.c_str(), clip); else script = clip;