egl: Unhide functionality in _eglInitContext()
authorJuha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
Fri, 7 Feb 2014 12:44:04 +0000 (14:44 +0200)
committerBrian Paul <brianp@vmware.com>
Fri, 7 Feb 2014 15:14:05 +0000 (08:14 -0700)
_eglInitResource() was used to memset entire _EGLContext by
writing more than size of pointed target. This does work
as long as Resource is the first element in _EGLContext,
this patch fixes such dependency.

Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
src/egl/main/eglcontext.c

index 79a92c7c4a6c65f27e77c2d29ab8c96d46a575ce..99d1c3e7595b44912e246c8cea2eea206e3cc93e 100644 (file)
@@ -366,7 +366,8 @@ _eglInitContext(_EGLContext *ctx, _EGLDisplay *dpy, _EGLConfig *conf,
       return EGL_FALSE;
    }
 
-   _eglInitResource(&ctx->Resource, sizeof(*ctx), dpy);
+   memset(ctx, 0, sizeof(_EGLContext));
+   _eglInitResource(&ctx->Resource, sizeof(_EGLResource), dpy);
    ctx->ClientAPI = api;
    ctx->Config = conf;
    ctx->WindowRenderBuffer = EGL_NONE;