From 952d43b884e8b977f20a818265121e0d3c106ae4 Mon Sep 17 00:00:00 2001 From: "alexey.lysiuk" Date: Mon, 8 Mar 2021 11:44:14 +0200 Subject: [PATCH] - escape double quotes in Cocoa IWAD picker's extra arguments https://forum.zdoom.org/viewtopic.php?t=71675 --- src/common/platform/posix/osx/iwadpicker_cocoa.mm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/common/platform/posix/osx/iwadpicker_cocoa.mm b/src/common/platform/posix/osx/iwadpicker_cocoa.mm index bb7cdd0a6..e4740ea2a 100644 --- a/src/common/platform/posix/osx/iwadpicker_cocoa.mm +++ b/src/common/platform/posix/osx/iwadpicker_cocoa.mm @@ -389,6 +389,8 @@ static void RestartWithParameters(const WadStuff& wad, NSString* parameters) @try { NSString* executablePath = [NSString stringWithUTF8String:Args->GetArg(0)]; + NSString* escapedParameters = [parameters stringByReplacingOccurrencesOfString:@"\"" withString:@"\\\""]; + NSString* cvarArgument = [NSString stringWithFormat:@"+osx_additional_parameters \"%@\"", escapedParameters]; NSMutableArray* const arguments = [[NSMutableArray alloc] init]; [arguments addObject:@"-arch"]; @@ -398,7 +400,7 @@ static void RestartWithParameters(const WadStuff& wad, NSString* parameters) [arguments addObject:[NSString stringWithUTF8String:wad.Path]]; [arguments addObject:@"+defaultiwad"]; [arguments addObject:[NSString stringWithUTF8String:wad.Name]]; - [arguments addObject:[NSString stringWithFormat:@"+osx_additional_parameters \"%@\"", parameters]]; + [arguments addObject:cvarArgument]; for (int i = 1, count = Args->NumArgs(); i < count; ++i) {