nouveau: Fix bugs in nouveau_video_buffer

Double free and array overflow, even if only 2 members are
used the last one needs to be set to NULL explicitly.

Signed-off-by: Maarten Lankhorst <m.b.lankhorst@gmail.com
This commit is contained in:
Maarten Lankhorst 2011-12-19 10:06:58 +01:00 committed by Christoph Bumiller
parent 2eafd07323
commit ebe7c687ce
2 changed files with 3 additions and 4 deletions

View file

@ -835,7 +835,6 @@ nouveau_video_buffer_create(struct pipe_context *pipe,
error:
nouveau_video_buffer_destroy(&buffer->base);
FREE(buffer);
return NULL;
}

View file

@ -7,10 +7,10 @@
struct nouveau_video_buffer {
struct pipe_video_buffer base;
unsigned num_planes;
struct pipe_resource *resources[2];
struct pipe_sampler_view *sampler_view_planes[2];
struct pipe_resource *resources[3];
struct pipe_sampler_view *sampler_view_planes[3];
struct pipe_sampler_view *sampler_view_components[3];
struct pipe_surface *surfaces[2];
struct pipe_surface *surfaces[3];
};
struct nouveau_decoder {