[Mesa-dev] [PATCH] i965: Initialize new chunks of realloc'd memory.
Chris Forbes
chrisf at ijw.co.nz
Tue Jul 8 21:51:50 PDT 2014
I think you want to move the memset after the !annotation->ann bail
out. Currently, if that allocation were to fail (and we care enough to
check...) , you'll segfault.
On Wed, Jul 9, 2014 at 3:44 PM, Matt Turner <mattst88 at gmail.com> wrote:
> Otherwise we'd compare uninitialized pointers with NULL and dereference,
> leading to crashes.
> ---
> src/mesa/drivers/dri/i965/intel_asm_annotation.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/src/mesa/drivers/dri/i965/intel_asm_annotation.c b/src/mesa/drivers/dri/i965/intel_asm_annotation.c
> index 4717baf..d524725 100644
> --- a/src/mesa/drivers/dri/i965/intel_asm_annotation.c
> +++ b/src/mesa/drivers/dri/i965/intel_asm_annotation.c
> @@ -96,9 +96,13 @@ void annotate(struct brw_context *brw,
> struct backend_instruction *inst, unsigned offset)
> {
> if (annotation->ann_size <= annotation->ann_count) {
> + int old_size = annotation->ann_size;
> annotation->ann_size = MAX2(1024, annotation->ann_size * 2);
> annotation->ann = reralloc(annotation->mem_ctx, annotation->ann,
> struct annotation, annotation->ann_size);
> + memset(annotation->ann + old_size, 0,
> + (annotation->ann_size - old_size) * sizeof(struct annotation));
> +
> if (!annotation->ann)
> return;
> }
> --
> 1.8.5.5
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list