diff options
| author | phx <phx@NetBSD.org> | 2011-02-12 17:15:27 +0000 |
|---|---|---|
| committer | phx <phx@NetBSD.org> | 2011-02-12 17:15:27 +0000 |
| commit | 79079d700c32be2268792e9c0da5b9dedeff73ac (patch) | |
| tree | 51793f487d38b73324d5c8e062b70e4d2ade4780 /sys/dev/wsfb | |
| parent | ea0fa074ce4690c1a433329ef7c4fc3bb71f10f3 (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.c | 8 |
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) { |
