diff options
author | jkim <jkim@FreeBSD.org> | 2010-05-18 18:28:17 +0000 |
---|---|---|
committer | jkim <jkim@FreeBSD.org> | 2010-05-18 18:28:17 +0000 |
commit | 8ba0683100cd1e9f287aed8c03f5adfe3876d1c6 (patch) | |
tree | af0321c5ae6a1f9a8277f66961c462f3cf753813 | |
parent | 7d73fa34d5dfb50e978b77ab4626f9538d38d506 (diff) | |
download | FreeBSD-src-8ba0683100cd1e9f287aed8c03f5adfe3876d1c6.zip FreeBSD-src-8ba0683100cd1e9f287aed8c03f5adfe3876d1c6.tar.gz |
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
-rw-r--r-- | sys/dev/fb/vesa.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/sys/dev/fb/vesa.c b/sys/dev/fb/vesa.c index 446046c..4167b44 100644 --- a/sys/dev/fb/vesa.c +++ b/sys/dev/fb/vesa.c @@ -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; } |