diff options
author | Justin Dou <Justin.Dou@intel.com> | 2011-02-10 16:27:29 -0500 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2011-02-18 12:16:15 -0800 |
commit | a73c28f0bdafb1c5cb8129179188a99c0ca052e2 (patch) | |
tree | b5dce3a2225eacb09a854a0736bd87d549346b21 | |
parent | 0bc9b15a622377c57e617411ccd26c4b5bf8cba4 (diff) |
Replace malloc with calloc to initialize the buffers[] as NULL in do_get_buffers function
The calling for allocate_or_reuse_buffer may fail due to some reason, e.g. out of memory.
If the buffers[] were not initialized to be NULL, the following err_out may try to access an illegal memory, which will cause X crash afterward.
Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
Signed-off-by: Justin Dou <Justin.Dou@intel.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
-rw-r--r-- | hw/xfree86/dri2/dri2.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/hw/xfree86/dri2/dri2.c b/hw/xfree86/dri2/dri2.c index 39996f946..9ca378fed 100644 --- a/hw/xfree86/dri2/dri2.c +++ b/hw/xfree86/dri2/dri2.c @@ -403,7 +403,7 @@ do_get_buffers(DrawablePtr pDraw, int *width, int *height, && (pDraw->height == pPriv->height) && (pPriv->serialNumber == DRI2DrawableSerial(pDraw)); - buffers = malloc((count + 1) * sizeof(buffers[0])); + buffers = calloc((count + 1), sizeof(buffers[0])); for (i = 0; i < count; i++) { const unsigned attachment = *(attachments++); |