From 29cc3edd7dcb15a7f9d1a8f0e912001be32de320 Mon Sep 17 00:00:00 2001 From: Petri Hintukainen Date: Tue, 13 May 2014 15:04:09 +0300 Subject: alphablend: use _x_freep (fix double free after failed calloc) --- src/xine-engine/alphablend.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/xine-engine/alphablend.c b/src/xine-engine/alphablend.c index 0b5e3252f..d63cc546b 100644 --- a/src/xine-engine/alphablend.c +++ b/src/xine-engine/alphablend.c @@ -1121,7 +1121,7 @@ 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); + _x_freep(&extra_data->buffer); header = calloc(1, needed_buffer_size); if (!header) { extra_data->buffer_size = 0; @@ -1566,7 +1566,7 @@ 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); + _x_freep(&extra_data->buffer); header = calloc(1, needed_buffer_size); if (!header) { extra_data->buffer_size = 0; @@ -2163,10 +2163,7 @@ void _x_alphablend_init(alphablend_t *extra_data, xine_t *xine) void _x_alphablend_free(alphablend_t *extra_data) { - if (extra_data->buffer) { - free(extra_data->buffer); - extra_data->buffer = NULL; - } + _x_freep(&extra_data->buffer); extra_data->buffer_size = 0; } -- cgit v1.2.3