summaryrefslogtreecommitdiff
path: root/sys/dev/wsfb
diff options
context:
space:
mode:
authorphx <phx@NetBSD.org>2011-02-12 17:15:27 +0000
committerphx <phx@NetBSD.org>2011-02-12 17:15:27 +0000
commit79079d700c32be2268792e9c0da5b9dedeff73ac (patch)
tree51793f487d38b73324d5c8e062b70e4d2ade4780 /sys/dev/wsfb
parentea0fa074ce4690c1a433329ef7c4fc3bb71f10f3 (diff)
Fixed NULL-pointer dereferencing when a mode-callback is not defined.
Diffstat (limited to 'sys/dev/wsfb')
-rw-r--r--sys/dev/wsfb/genfb.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/sys/dev/wsfb/genfb.c b/sys/dev/wsfb/genfb.c
index c5bb5b18561..f0e841e952e 100644
--- a/sys/dev/wsfb/genfb.c
+++ b/sys/dev/wsfb/genfb.c
@@ -1,4 +1,4 @@
-/* $NetBSD: genfb.c,v 1.35 2011/02/09 13:19:19 jmcneill Exp $ */
+/* $NetBSD: genfb.c,v 1.36 2011/02/12 17:15:27 phx Exp $ */
/*-
* Copyright (c) 2007 Michael Lorenz
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: genfb.c,v 1.35 2011/02/09 13:19:19 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: genfb.c,v 1.36 2011/02/12 17:15:27 phx Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -235,7 +235,7 @@ genfb_attach(struct genfb_softc *sc, struct genfb_ops *ops)
sc->sc_screenlist = (struct wsscreen_list){1, sc->sc_screens};
memcpy(&sc->sc_ops, ops, sizeof(struct genfb_ops));
sc->sc_mode = WSDISPLAYIO_MODE_EMUL;
- if (sc->sc_modecb->gmc_setmode)
+ if (sc->sc_modecb != NULL)
sc->sc_modecb->gmc_setmode(sc, sc->sc_mode);
#ifdef GENFB_SHADOWFB
@@ -386,7 +386,7 @@ genfb_ioctl(void *v, void *vs, u_long cmd, void *data, int flag,
if (new_mode != sc->sc_mode) {
sc->sc_mode = new_mode;
- if (sc->sc_modecb->gmc_setmode)
+ if (sc->sc_modecb != NULL)
sc->sc_modecb->gmc_setmode(sc,
sc->sc_mode);
if (new_mode == WSDISPLAYIO_MODE_EMUL) {