From 921bfe58c2a41b4605fc6eae342c9a505ad6fb04 Mon Sep 17 00:00:00 2001 From: Kai Koehne Date: Tue, 18 Feb 2014 09:00:24 +0100 Subject: Fix potential null pointer access in qglx MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reportedly does fix crashes when running a Qt Quick 2 application over remote X. Task-number: QTCREATORBUG-11207 Change-Id: I6fa82420f9d12e56e52fa8efd263bf18d868d7d8 Reviewed-by: Ville Nummela Reviewed-by: Jørgen Lind Reviewed-by: Gunnar Sletta --- src/plugins/platforms/xcb/qglxintegration.cpp | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/src/plugins/platforms/xcb/qglxintegration.cpp b/src/plugins/platforms/xcb/qglxintegration.cpp index f7abb4662b..ed2f685770 100644 --- a/src/plugins/platforms/xcb/qglxintegration.cpp +++ b/src/plugins/platforms/xcb/qglxintegration.cpp @@ -493,19 +493,21 @@ void QGLXContext::queryDummyContext() m_supportsThreading = true; - const char *renderer = (const char *) glGetString(GL_RENDERER); - for (int i = 0; qglx_threadedgl_blacklist_renderer[i]; ++i) { - if (strstr(renderer, qglx_threadedgl_blacklist_renderer[i]) != 0) { - m_supportsThreading = false; - break; + if (const char *renderer = (const char *) glGetString(GL_RENDERER)) { + for (int i = 0; qglx_threadedgl_blacklist_renderer[i]; ++i) { + if (strstr(renderer, qglx_threadedgl_blacklist_renderer[i]) != 0) { + m_supportsThreading = false; + break; + } } } - const char *vendor = (const char *) glGetString(GL_VENDOR); - for (int i = 0; qglx_threadedgl_blacklist_vendor[i]; ++i) { - if (strstr(vendor, qglx_threadedgl_blacklist_vendor[i]) != 0) { - m_supportsThreading = false; - break; + if (const char *vendor = (const char *) glGetString(GL_VENDOR)) { + for (int i = 0; qglx_threadedgl_blacklist_vendor[i]; ++i) { + if (strstr(vendor, qglx_threadedgl_blacklist_vendor[i]) != 0) { + m_supportsThreading = false; + break; + } } } -- cgit v1.2.3