diff options
author | Diego 'Flameeyes' Pettenò <flameeyes@gmail.com> | 2006-09-26 22:35:32 +0000 |
---|---|---|
committer | Diego 'Flameeyes' Pettenò <flameeyes@gmail.com> | 2006-09-26 22:35:32 +0000 |
commit | db7e88f1c603c2c32de727cffac61cd6c7785d2b (patch) | |
tree | b1fd2264ae073c2621fac2b30f1e121a9ab67d85 | |
parent | c23d44479a48391e6b8cfe2e3c55b55a1b1938b4 (diff) | |
download | xine-lib-db7e88f1c603c2c32de727cffac61cd6c7785d2b.tar.gz xine-lib-db7e88f1c603c2c32de727cffac61cd6c7785d2b.tar.bz2 |
Don't dereference the pointer before it's tested for being not null.
Found by Coverity Scan CID 245.
CVS patchset: 8312
CVS date: 2006/09/26 22:35:32
-rw-r--r-- | src/xine-engine/alphablend.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/xine-engine/alphablend.c b/src/xine-engine/alphablend.c index 425bbd162..a0ff6ccf3 100644 --- a/src/xine-engine/alphablend.c +++ b/src/xine-engine/alphablend.c @@ -1961,13 +1961,10 @@ void _x_blend_xx44 (uint8_t *dst_img, vo_overlay_t *img_overl, alphablend_t *extra_data, xx44_palette_t *palette,int ia44) { - int src_width = img_overl->width; - int src_height = img_overl->height; - rle_elem_t *rle = img_overl->rle; - rle_elem_t *rle_limit = rle + img_overl->num_rle; + int src_width, src_height; + rle_elem_t *rle, *rle_limit; int mask; - int x_off = img_overl->x + extra_data->offset_x; - int y_off = img_overl->y + extra_data->offset_y; + int x_off, y_off; int x, y; uint8_t norm_pixel,hili_pixel; uint8_t *dst_y; @@ -1979,6 +1976,13 @@ void _x_blend_xx44 (uint8_t *dst_img, vo_overlay_t *img_overl, if (!img_overl) return; + src_width = img_overl->width; + src_height = img_overl->height; + rle = img_overl->rle; + rle_limit = rle + img_overl->num_rle; + x_off = img_overl->x + extra_data->offset_x; + y_off = img_overl->y + extra_data->offset_y; + dst_y = dst_img + dst_pitch*y_off + x_off; /* checks to avoid drawing overlay outside the destination buffer */ |