⬢ DragonFlyBSD Kernel Audit
DF-5591 / fix.diff
← back to finding ↓ download raw
--- a/sys/bus/isa/vga_isa.c
+++ b/sys/bus/isa/vga_isa.c
@@ -108,6 +108,9 @@
 	video_adapter_t adp;
 	int error;
 
+	/* Never trust vga_probe_unit() to fill adp on success (see vga.c). */
+	bzero(&adp, sizeof(adp));
+
 	/* No pnp support */
 	if (isa_get_vendorid(dev))
 		return (ENXIO);
--- a/sys/dev/video/fb/vga.c
+++ b/sys/dev/video/fb/vga.c
@@ -75,7 +75,7 @@
 
 	sw = vid_get_switch(VGA_DRIVER_NAME);
 	if (sw == NULL)
-		return 0;
+		return ENXIO;
 	error = (*sw->probe)(unit, &adp, NULL, flags);
 	if (error)
 		return error;