From 54df0743c7804ea61bf0bb57c056b14ae7312df8 Mon Sep 17 00:00:00 2001 From: Pawel Jakub Dawidek Date: Tue, 17 Jan 2006 07:22:44 +0000 Subject: Remove bio leak when EIO error is emulated. Found by: Coverity Prevent(tm) MFC after: 3 days --- sys/geom/nop/g_nop.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'sys/geom/nop') diff --git a/sys/geom/nop/g_nop.c b/sys/geom/nop/g_nop.c index 40e951fc0349..6ab9fcc99bc4 100644 --- a/sys/geom/nop/g_nop.c +++ b/sys/geom/nop/g_nop.c @@ -81,11 +81,6 @@ g_nop_start(struct bio *bp) gp = bp->bio_to->geom; sc = gp->softc; G_NOP_LOGREQ(bp, "Request received."); - cbp = g_clone_bio(bp); - if (cbp == NULL) { - g_io_deliver(bp, ENOMEM); - return; - } switch (bp->bio_cmd) { case BIO_READ: sc->sc_reads++; @@ -105,6 +100,11 @@ g_nop_start(struct bio *bp) return; } } + cbp = g_clone_bio(bp); + if (cbp == NULL) { + g_io_deliver(bp, ENOMEM); + return; + } cbp->bio_done = g_std_done; cbp->bio_offset = bp->bio_offset + sc->sc_offset; cbp->bio_data = bp->bio_data; -- cgit v1.2.3