diff options
author | cperciva <cperciva@FreeBSD.org> | 2004-02-22 10:00:05 +0000 |
---|---|---|
committer | cperciva <cperciva@FreeBSD.org> | 2004-02-22 10:00:05 +0000 |
commit | 39a670dacff2977672cd7a0d61afdf6919a22231 (patch) | |
tree | 6929ff327410f9f656467651c9d16687219798b6 /sys/dev | |
parent | d511be05d7ef09f80241da0f72c499aa48423b7d (diff) | |
download | FreeBSD-src-39a670dacff2977672cd7a0d61afdf6919a22231.zip FreeBSD-src-39a670dacff2977672cd7a0d61afdf6919a22231.tar.gz |
Check that amrd_sc is non-NULL before dereferencing it, not after.
Reported by: "Ted Unangst" <tedu@coverity.com>
Approved by: rwatson (mentor)
Diffstat (limited to 'sys/dev')
-rw-r--r-- | sys/dev/amr/amr_disk.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/dev/amr/amr_disk.c b/sys/dev/amr/amr_disk.c index a93e1ed..fef4919 100644 --- a/sys/dev/amr/amr_disk.c +++ b/sys/dev/amr/amr_disk.c @@ -157,9 +157,9 @@ amrd_dump(void *arg, void *virtual, vm_offset_t physical, off_t offset, size_t l dp = arg; amrd_sc = (struct amrd_softc *)dp->d_drv1; - amr_sc = (struct amr_softc *)amrd_sc->amrd_controller; - if (!amrd_sc || !amr_sc) + if (amrd_sc == NULL) return(ENXIO); + amr_sc = (struct amr_softc *)amrd_sc->amrd_controller; if (length > 0) { int driveno = amrd_sc->amrd_drive - amr_sc->amr_drive; |