[Mesa-dev] [PATCH] mesa: Increment the list pointer while freeing instruction data
Ian Romanick
idr at freedesktop.org
Tue Jan 21 18:00:37 PST 2014
On 01/21/2014 06:47 PM, Brian Paul wrote:
> On 01/21/2014 05:30 PM, Ian Romanick wrote:
>> From: Ian Romanick <ian.d.romanick at intel.com>
>>
>> Since the list pointer was never incremented when a OPCODE_PIXEL_MAP
>> opcode was encountered, the data for the instruction would get freed
>> over and over and over... resulting in a crash.
>>
>> Fixes gl-1.0-beginend-coverage.
>>
>> Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
>> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=72214
>> Cc: Brian Paul <brianp at vmware.com>
>> Cc: Lu Ha <huax.lu at intel.com>
>> ---
>> src/mesa/main/dlist.c | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git a/src/mesa/main/dlist.c b/src/mesa/main/dlist.c
>> index cb40ff4..08943c9 100644
>> --- a/src/mesa/main/dlist.c
>> +++ b/src/mesa/main/dlist.c
>> @@ -767,6 +767,7 @@ _mesa_delete_list(struct gl_context *ctx, struct
>> gl_display_list *dlist)
>> break;
>> case OPCODE_PIXEL_MAP:
>> free(get_pointer(&n[3]));
>> + n += InstSize[n[0].opcode];
>> break;
>>
>> case OPCODE_CONTINUE:
>>
>
> Thanks, Ian.
>
> Reviewed-by: Brian Paul <brianp at vmware.com>
>
> Looks like my original patch for fixing the pixelmap leak (1fb10652)
> isn't in the 10.0.x branch. It's probably not worth cherry picking.
You should probably send the patch to mesa-stable so that Carl notices.
> Who
> uses glPixelMap in a display list anyway?
Probably just that piglit test. :)
> -Brian
More information about the mesa-dev
mailing list