Date: Thu, 22 Oct 2009 07:55:28 -0400 From: John Baldwin <jhb@freebsd.org> To: Christian Brueffer <brueffer@freebsd.org> Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r198358 - head/sys/dev/ppbus Message-ID: <200910220755.28806.jhb@freebsd.org> In-Reply-To: <200910220651.n9M6pTR9021597@svn.freebsd.org> References: <200910220651.n9M6pTR9021597@svn.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thursday 22 October 2009 2:51:29 am Christian Brueffer wrote: > 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 <argp@census-labs.com> > MFC after: 1 week In this case the '!sc' check should just be removed. It will never be true. I think this is also probably true of many of the other cases you are running into. > 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, > -- John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200910220755.28806.jhb>