From 4f058c04e8f57148b55330e1bffdcefb6c79e360 Mon Sep 17 00:00:00 2001
From: xperia64 <xperiancedapps@gmail.com>
Date: Sun, 22 Nov 2020 08:45:14 -0500
Subject: [PATCH] Fix telemetry-related exit crash from use-after-free (#5617)

* Fix telemetry-related exit crash from use-after-free

* ...clang format
---
 src/video_core/renderer_opengl/renderer_opengl.cpp | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/video_core/renderer_opengl/renderer_opengl.cpp b/src/video_core/renderer_opengl/renderer_opengl.cpp
index 10affce71..bf123c4e0 100644
--- a/src/video_core/renderer_opengl/renderer_opengl.cpp
+++ b/src/video_core/renderer_opengl/renderer_opengl.cpp
@@ -1210,9 +1210,12 @@ VideoCore::ResultStatus RendererOpenGL::Init() {
     LOG_INFO(Render_OpenGL, "GL_RENDERER: {}", gpu_model);
 
     auto& telemetry_session = Core::System::GetInstance().TelemetrySession();
-    telemetry_session.AddField(Telemetry::FieldType::UserSystem, "GPU_Vendor", gpu_vendor);
-    telemetry_session.AddField(Telemetry::FieldType::UserSystem, "GPU_Model", gpu_model);
-    telemetry_session.AddField(Telemetry::FieldType::UserSystem, "GPU_OpenGL_Version", gl_version);
+    telemetry_session.AddField(Telemetry::FieldType::UserSystem, "GPU_Vendor",
+                               std::string(gpu_vendor));
+    telemetry_session.AddField(Telemetry::FieldType::UserSystem, "GPU_Model",
+                               std::string(gpu_model));
+    telemetry_session.AddField(Telemetry::FieldType::UserSystem, "GPU_OpenGL_Version",
+                               std::string(gl_version));
 
     if (!strcmp(gpu_vendor, "GDI Generic")) {
         return VideoCore::ResultStatus::ErrorGenericDrivers;