[Mesa-dev] [PATCH] glx: Fix use-before-null-check in dri2InvalidateBuffers().
Matt Turner
mattst88 at gmail.com
Wed Jun 1 13:51:13 PDT 2011
On Wed, Jun 1, 2011 at 4:42 PM, Eric Anholt <eric at anholt.net> wrote:
> The compiler used our dereference here to skip the NULL check below.
> Fixes window resize in "jconsole -J-Dsun.java2d.opengl=True" under
> OpenJDK 6.
>
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=37766
> ---
> src/glx/dri2_glx.c | 7 ++++++-
> 1 files changed, 6 insertions(+), 1 deletions(-)
>
> diff --git a/src/glx/dri2_glx.c b/src/glx/dri2_glx.c
> index b9f6f7f..69b47ae 100644
> --- a/src/glx/dri2_glx.c
> +++ b/src/glx/dri2_glx.c
> @@ -675,9 +675,14 @@ dri2InvalidateBuffers(Display *dpy, XID drawable)
> {
> __GLXDRIdrawable *pdraw =
> dri2GetGlxDrawableFromXDrawableId(dpy, drawable);
> - struct dri2_screen *psc = (struct dri2_screen *) pdraw->psc;
> + struct dri2_screen *psc;
> struct dri2_drawable *pdp = (struct dri2_drawable *) pdraw;
>
> + if (!pdraw)
> + return;
> +
> + psc = (struct dri2_screen *) pdraw->psc;
> +
> #if __DRI2_FLUSH_VERSION >= 3
> if (pdraw && psc->f && psc->f->base.version >= 3 && psc->f->invalidate)
> psc->f->invalidate(pdp->driDrawable);
> --
> 1.7.5.1
Reviewed-by: Matt Turner <mattst88 at gmail.com>
Relevant: http://blog.llvm.org/2011/05/what-every-c-programmer-should-know_14.html
More information about the mesa-dev
mailing list