| author | Michel Dänzer <daenzer@vmware.com> | 2009-06-23 14:45:39 (GMT) |
|---|---|---|
| committer | Michel Dänzer <daenzer@vmware.com> | 2009-06-23 14:45:39 (GMT) |
| commit | df597709d71f47b8516e27c6fb1bfffd59de5e48 (patch) (side-by-side diff) | |
| tree | 41a74300d8b943d6a2d4f9220934bac30e2abba0 | |
| parent | 048697ccfa31cf7f7a29afa90a2f702d43efb7d4 (diff) | |
| download | xserver-df597709d71f47b8516e27c6fb1bfffd59de5e48.zip xserver-df597709d71f47b8516e27c6fb1bfffd59de5e48.tar.gz | |
dri2: Don't crash if pPriv is NULL.
| -rw-r--r-- | hw/xfree86/dri2/dri2.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/hw/xfree86/dri2/dri2.c b/hw/xfree86/dri2/dri2.c index 385c5e8..aead33b 100644 --- a/hw/xfree86/dri2/dri2.c +++ b/hw/xfree86/dri2/dri2.c @@ -186,10 +186,18 @@ do_get_buffers(DrawablePtr pDraw, int *width, int *height, int need_fake_front = 0; int have_fake_front = 0; int front_format = 0; - const int dimensions_match = (pDraw->width == pPriv->width) - && (pDraw->height == pPriv->height); + int dimensions_match; int i; + if (!pPriv) { + *width = pDraw->width; + *height = pDraw->height; + *out_count = 0; + return NULL; + } + + dimensions_match = (pDraw->width == pPriv->width) + && (pDraw->height == pPriv->height); buffers = xalloc((count + 1) * sizeof(buffers[0])); |
