From a81e4b3e9272f70ab9074f1c133dda94c58daeff Mon Sep 17 00:00:00 2001 From: Ian Romanick Date: Tue, 7 Aug 2012 12:16:35 -0700 Subject: [PATCH] i830: Validate API and version before calling i830CreateContext Signed-off-by: Ian Romanick --- src/mesa/drivers/dri/intel/intel_screen.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/mesa/drivers/dri/intel/intel_screen.c b/src/mesa/drivers/dri/intel/intel_screen.c index cdae702adf5..877d11b709e 100644 --- a/src/mesa/drivers/dri/intel/intel_screen.c +++ b/src/mesa/drivers/dri/intel/intel_screen.c @@ -736,9 +736,27 @@ intelCreateContext(gl_api api, success = i915CreateContext(api, mesaVis, driContextPriv, sharedContextPrivate); } else { + switch (api) { + case API_OPENGL: + if (major_version > 1 || minor_version > 3) { + *error = __DRI_CTX_ERROR_BAD_VERSION; + return false; + } + break; + case API_OPENGLES: + break; + default: + *error = __DRI_CTX_ERROR_BAD_API; + return false; + } + intelScreen->no_vbo = true; success = i830CreateContext(mesaVis, driContextPriv, sharedContextPrivate); + if (!success) { + *error = __DRI_CTX_ERROR_NO_MEMORY; + return false; + } } #else success = brwCreateContext(api, mesaVis,