[U-Boot-Users] [PATCH] video: Add missing free for logo memory

Rodolfo Giometti giometti at enneenne.com
Mon Apr 21 09:47:49 CEST 2008


On Fri, Apr 18, 2008 at 04:28:46PM +0200, Matthias Fuchs wrote:
> This patch adds some missing free()s and does some coding style clean up.

Please, separate the patches or just send the one which fixes memory
allocation only.

> Signed-off-by: Matthias Fuchs <matthias.fuchs at esd-electronics.com>
> ---
>  drivers/video/cfb_console.c |   10 ++++++----
>  1 files changed, 6 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/video/cfb_console.c b/drivers/video/cfb_console.c
> index 4f73067..751c2c4 100644
> --- a/drivers/video/cfb_console.c
> +++ b/drivers/video/cfb_console.c
> @@ -830,7 +830,7 @@ int video_display_bitmap (ulong bmp_image, int x, int y)
>  		dst = malloc(CFG_VIDEO_LOGO_MAX_SIZE);
>  		if (dst == NULL) {
>  			printf("Error: malloc in gunzip failed!\n");
> -			return(1);
> +			return 1;
>  		}
>  		if (gunzip(dst, CFG_VIDEO_LOGO_MAX_SIZE, (uchar *)bmp_image, &len) != 0) {
>  			printf ("Error: no valid bmp or bmp.gz image at %lx\n", bmp_image);
> @@ -849,6 +849,7 @@ int video_display_bitmap (ulong bmp_image, int x, int y)
>  		if (!((bmp->header.signature[0] == 'B') &&
>  		      (bmp->header.signature[1] == 'M'))) {
>  			printf ("Error: no valid bmp.gz image at %lx\n", bmp_image);
> +			free(dst);

Do you need checking for dst==NULL? (see below)

>  			return 1;
>  		}
>  #else
> @@ -869,6 +870,8 @@ int video_display_bitmap (ulong bmp_image, int x, int y)
>  	if (compression != BMP_BI_RGB) {
>  		printf ("Error: compression type %ld not supported\n",
>  			compression);
> +		if (dst)
> +			free(dst);

Maybe you don't need checking for dst==NULL... (see above)

>  		return 1;
>  	}
>  
> @@ -1046,12 +1049,11 @@ int video_display_bitmap (ulong bmp_image, int x, int y)
>  	}
>  
>  #ifdef CONFIG_VIDEO_BMP_GZIP
> -	if (dst) {
> +	if (dst)
>  		free(dst);

Ditto.

> -	}
>  #endif
>  
> -	return (0);
> +	return 0;
>  }
>  #endif
>  
> -- 
> 1.5.3

Thanks,

Rodolfo

-- 

GNU/Linux Solutions                  e-mail:    giometti at enneenne.com
Linux Device Driver                             giometti at linux.it
Embedded Systems                     phone:	+39 349 2432127
UNIX programming                     skype:     rodolfo.giometti




More information about the U-Boot mailing list