Author: brueffer
Date: Thu Oct 22 06:51:29 2009
New Revision: 198358
URL: http://svn.freebsd.org/changeset/base/198358

Log:
  Check pointer for NULL before dereferencing it, not after.
  
  PR:           138387, 138388
  Submitted by: Patroklos Argyroudis <a...@census-labs.com>
  MFC after:    1 week

Modified:
  head/sys/dev/ppbus/lpt.c
  head/sys/dev/ppbus/pcfclock.c

Modified: head/sys/dev/ppbus/lpt.c
==============================================================================
--- head/sys/dev/ppbus/lpt.c    Thu Oct 22 06:17:04 2009        (r198357)
+++ head/sys/dev/ppbus/lpt.c    Thu Oct 22 06:51:29 2009        (r198358)
@@ -486,12 +486,15 @@ lptopen(struct cdev *dev, int flags, int
 {
        int trys, err;
        struct lpt_data *sc = dev->si_drv1;
-       device_t lptdev = sc->sc_dev;
-       device_t ppbus = device_get_parent(lptdev);
+       device_t lptdev;
+       device_t ppbus;
 
        if (!sc)
                return (ENXIO);
 
+       lptdev = sc->sc_dev;
+       ppbus = device_get_parent(lptdev);
+
        ppb_lock(ppbus);
        if (sc->sc_state) {
                lprintf(("%s: still open %x\n", device_get_nameunit(lptdev),

Modified: head/sys/dev/ppbus/pcfclock.c
==============================================================================
--- head/sys/dev/ppbus/pcfclock.c       Thu Oct 22 06:17:04 2009        
(r198357)
+++ head/sys/dev/ppbus/pcfclock.c       Thu Oct 22 06:51:29 2009        
(r198358)
@@ -150,12 +150,14 @@ static int
 pcfclock_open(struct cdev *dev, int flag, int fms, struct thread *td)
 {
        struct pcfclock_data *sc = dev->si_drv1;
-       device_t pcfclockdev = sc->dev;
-       device_t ppbus = device_get_parent(pcfclockdev);
+       device_t pcfclockdev;
+       device_t ppbus;
        int res;
 
        if (!sc)
                return (ENXIO);
+       pcfclockdev = sc->dev;
+       ppbus = device_get_parent(pcfclockdev);
 
        ppb_lock(ppbus);
        res = ppb_request_bus(ppbus, pcfclockdev,
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to