From 099723fe4dadb15497abf2a6b25e10afa8942320 Mon Sep 17 00:00:00 2001 From: Ken Cooke Date: Sun, 20 Aug 2017 13:49:26 -0700 Subject: [PATCH] Use RAII to avoid deletion of extended argv while in use --- interface/src/main.cpp | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/interface/src/main.cpp b/interface/src/main.cpp index 084e540ff4..503daa177d 100644 --- a/interface/src/main.cpp +++ b/interface/src/main.cpp @@ -216,17 +216,12 @@ int main(int argc, const char* argv[]) { SandboxUtils::runLocalSandbox(serverContentPath, true, noUpdater); } - // to enable WebGL rendering - char* additionalCommandLineArg = (char*)"--ignore-gpu-blacklist"; - int newArgc = argc + 1; - char** newArgv = new char*[newArgc]; - for (int i = 0; i < argc; ++i) { - newArgv[i] = (char*)argv[i]; - } - newArgv[argc] = additionalCommandLineArg; + // Extend argv to enable WebGL rendering + std::vector argvExtended(&argv[0], &argv[argc]); + argvExtended.push_back("--ignore-gpu-blacklist"); + int argcExtended = (int)argvExtended.size(); - Application app(newArgc, const_cast(newArgv), startupTime, runningMarkerExisted); - delete[] newArgv; + Application app(argcExtended, const_cast(argvExtended.data()), startupTime, runningMarkerExisted); // If we failed the OpenGLVersion check, log it. if (override) {