missing check after kmalloc in drivers/video/sbus.c and not only
Hello,
kernel is 2.4.1-pre8
missing check after kmalloc in drivers/video/sbus.c, possible memory leak in case of sbusfb_init_fb() failure, unnesesary compare (memset to area before).
best explanation is a patch, look:
video/sbusfb.c renamed from video/sbusfb.c.orig +9 -1
@@ -1070,8 +1070,14 @@ fb->cursor.hwsize.fbx =32 ; fb->cursor.hwsize.fby =32 ; -if (depth >1 && !fb->color_map) +if (depth >1 ) { fb->color_map =kmalloc (256 *3 ,GFP_ATOMIC ); +if (!fb->color_map) { +prom_printf ("sbusfb: could not allocate memory for color map\n" ); +kfree (fb); +return ; + } + }switch (fbtype) {#ifdef CONFIG_FB_CREATOR
@@ -1110,6 +1116,7 @@ }if (!p) { +kfree (fb->color_map);kfree (fb);return ; }
@@ -1147,6 +1154,7 @@sbusfb_set_var (var,-1 , &fb->info);if (register_framebuffer (&fb->info) <0 ) { +kfree (fb->color_map);kfree (fb);return ; }
SY, Vladimir
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
Please read the FAQ at http://www.tux.org/lkml/