From 52e8f3c3d01ea5ba0d8827cfcc845072974e7904 Mon Sep 17 00:00:00 2001 From: Darren Salt Date: Thu, 22 Jun 2006 23:47:16 +0000 Subject: Fix two identical instances of either null-dereference or use-after-free. Also (hopefully) avoid memleak on allocation failure. CVS patchset: 8071 CVS date: 2006/06/22 23:47:16 --- src/xine-engine/alphablend.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/xine-engine/alphablend.c b/src/xine-engine/alphablend.c index b38042369..6f224ca30 100644 --- a/src/xine-engine/alphablend.c +++ b/src/xine-engine/alphablend.c @@ -1124,14 +1124,13 @@ static uint8_t *(*blend_yuv_grow_extra_data(alphablend_t *extra_data, int osd_wi if (extra_data->buffer_size < needed_buffer_size) { free(extra_data->buffer); - extra_data->buffer = xine_xmalloc(needed_buffer_size); - - if (!extra_data->buffer) { + header = xine_xmalloc(needed_buffer_size); + if (!header) { extra_data->buffer_size = 0; return 0; } - extra_data->buffer_size = needed_buffer_size; + extra_data->buffer = header; header->max_width = 0; } @@ -1535,14 +1534,13 @@ static uint8_t *(*blend_yuy2_grow_extra_data(alphablend_t *extra_data, int osd_w if (extra_data->buffer_size < needed_buffer_size) { free(extra_data->buffer); - extra_data->buffer = xine_xmalloc(needed_buffer_size); - - if (!extra_data->buffer) { + header = xine_xmalloc(needed_buffer_size); + if (!header) { extra_data->buffer_size = 0; return 0; } - extra_data->buffer_size = needed_buffer_size; + extra_data->buffer = header; header->max_width = 0; } -- cgit v1.2.3