From 76caaedd7e6b5c9e1c3b4c951d5820df9f419228 Mon Sep 17 00:00:00 2001 From: Matt Turner Date: Tue, 8 Jul 2014 16:50:28 -0700 Subject: [PATCH] i965: Initialize new chunks of realloc'd memory. Otherwise we'd compare uninitialized pointers with NULL and dereference, leading to crashes. Reviewed-by: Kenneth Graunke --- 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..6a51d89 100644 --- a/src/mesa/drivers/dri/i965/intel_asm_annotation.c +++ b/src/mesa/drivers/dri/i965/intel_asm_annotation.c @@ -96,11 +96,15 @@ 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); if (!annotation->ann) return; + + memset(annotation->ann + old_size, 0, + (annotation->ann_size - old_size) * sizeof(struct annotation)); } struct annotation *ann = &annotation->ann[annotation->ann_count++]; -- 2.7.4