Spotted with the source checker from Coverity.com.
Signed-off-by: Dave Jones <[email protected]>
diff -urpN --exclude-from=/home/davej/.exclude bk-linus/drivers/video/console/fbcon.c linux-2.6/drivers/video/console/fbcon.c
--- bk-linus/drivers/video/console/fbcon.c 2004-08-24 00:02:40.000000000 +0100
+++ linux-2.6/drivers/video/console/fbcon.c 2004-09-01 13:31:12.000000000 +0100
@@ -983,6 +983,7 @@ static void fbcon_init(struct vc_data *v
vc->vc_y += logo_lines;
vc->vc_pos += logo_lines * vc->vc_size_row;
kfree(save);
+ save = NULL;
}
if (logo_lines > vc->vc_bottom) {
logo_shown = -1;
@@ -1004,6 +1005,8 @@ static void fbcon_init(struct vc_data *v
softback_top = 0;
}
}
+ if (save)
+ kfree(save);
}
static void fbcon_deinit(struct vc_data *vc)
On Wednesday 01 September 2004 18:51, Dave Jones wrote:
> Spotted with the source checker from Coverity.com.
>
> Signed-off-by: Dave Jones <[email protected]>
>
>
> diff -urpN --exclude-from=/home/davej/.exclude
> bk-linus/drivers/video/console/fbcon.c
> linux-2.6/drivers/video/console/fbcon.c ---
> bk-linus/drivers/video/console/fbcon.c 2004-08-24 00:02:40.000000000 +0100
> +++ linux-2.6/drivers/video/console/fbcon.c 2004-09-01 13:31:12.000000000
> +0100 @@ -983,6 +983,7 @@ static void fbcon_init(struct vc_data *v
> vc->vc_y += logo_lines;
> vc->vc_pos += logo_lines * vc->vc_size_row;
> kfree(save);
> + save = NULL;
> }
> if (logo_lines > vc->vc_bottom) {
> logo_shown = -1;
> @@ -1004,6 +1005,8 @@ static void fbcon_init(struct vc_data *v
> softback_top = 0;
> }
> }
> + if (save)
> + kfree(save);
> }
>
> static void fbcon_deinit(struct vc_data *vc)
kfree(NULL) is valid (it's a nop).
--
vda