Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 18 May 2010 18:28:17 +0000 (UTC)
From:      Jung-uk Kim <jkim@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r208276 - head/sys/dev/fb
Message-ID:  <201005181828.o4IISHTn031756@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jkim
Date: Tue May 18 18:28:17 2010
New Revision: 208276
URL: http://svn.freebsd.org/changeset/base/208276

Log:
  Remove unnecessary pointer increment.  A wrong pointer may be passed to
  free(9) and it can cause kernel panic when there are multiple graphics
  controllers in the system.
  
  Tested by:	Brandon Gooch (jamesbrandongooch at gmail dot com)
  MFC after:	3 days

Modified:
  head/sys/dev/fb/vesa.c

Modified: head/sys/dev/fb/vesa.c
==============================================================================
--- head/sys/dev/fb/vesa.c	Tue May 18 18:20:11 2010	(r208275)
+++ head/sys/dev/fb/vesa.c	Tue May 18 18:28:17 2010	(r208276)
@@ -240,10 +240,10 @@ vesa_bios_post(void)
 	/* Find the matching PCI video controller. */
 	dc = devclass_find("vgapci");
 	if (dc != NULL && devclass_get_devices(dc, &devs, &count) == 0) {
-		for (dev = NULL, i = 0; dev == NULL && i < count; devs++, i++)
-			if (device_get_flags(*devs) != 0 &&
-			    x86bios_match_device(0xc0000, *devs)) {
-				dev = *devs;
+		for (i = 0; i < count; i++)
+			if (device_get_flags(devs[i]) != 0 &&
+			    x86bios_match_device(0xc0000, devs[i])) {
+				dev = devs[i];
 				is_pci = 1;
 				break;
 			}



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201005181828.o4IISHTn031756>