[U-Boot-Users] [PATCH] video: Add missing free for logo memory
Matthias Fuchs
matthias.fuchs at esd-electronics.com
Mon Apr 21 10:51:19 CEST 2008
On Monday 21 April 2008 09:47, Rodolfo Giometti wrote:
> 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.
Please see my comments below. I will resubmit the patch. But w/o the cleanup.
Matthias
>
> > 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)
No, not here!
>
> > 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)
You need it! But I forgot to add the #ifdef CONFIG_VIDEO_BMP_GZIP.
>
> > 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
>
More information about the U-Boot
mailing list