public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* missing check after kmalloc in drivers/video/sbus.c and not only
@ 2001-01-19 16:59 Vladimir V. Klenov
  0 siblings, 0 replies; only message in thread
From: Vladimir V. Klenov @ 2001-01-19 16:59 UTC (permalink / raw)
  To: linux-kernel

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:

--- drivers/video/sbusfb.c.orig	Fri Jan 19 19:14:22 2001
+++ drivers/video/sbusfb.c	Fri Jan 19 19:56:20 2001
@@ -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 majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2001-01-19 17:04 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2001-01-19 16:59 missing check after kmalloc in drivers/video/sbus.c and not only Vladimir V. Klenov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox