diff options
author | gibbs <gibbs@FreeBSD.org> | 1999-05-04 19:24:21 +0000 |
---|---|---|
committer | gibbs <gibbs@FreeBSD.org> | 1999-05-04 19:24:21 +0000 |
commit | 311e53d29452a8124431caa920f762e1e2aaab04 (patch) | |
tree | 15577c54bec754e1ee4056ff3085c00a6c0af179 /sys/cam | |
parent | fe0b12fd7bd58b5a3d78ead12c62004e657d11fe (diff) | |
download | FreeBSD-src-311e53d29452a8124431caa920f762e1e2aaab04.zip FreeBSD-src-311e53d29452a8124431caa920f762e1e2aaab04.tar.gz |
Don't touch a path after we've free'd it.
Diffstat (limited to 'sys/cam')
-rw-r--r-- | sys/cam/scsi/scsi_target.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/sys/cam/scsi/scsi_target.c b/sys/cam/scsi/scsi_target.c index 66028f1..bb2bf12 100644 --- a/sys/cam/scsi/scsi_target.c +++ b/sys/cam/scsi/scsi_target.c @@ -25,7 +25,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: scsi_target.c,v 1.8 1999/02/11 07:08:58 gibbs Exp $ + * $Id: scsi_target.c,v 1.9 1999/03/05 23:25:10 gibbs Exp $ */ #include <stddef.h> /* For offsetof */ @@ -638,9 +638,6 @@ targallocinstance(struct ioc_alloc_unit *alloc_unit) 0, &cpi); fail: - if (free_path_on_return != 0) - xpt_free_path(path); - switch (status) { case CAM_REQ_CMP: { @@ -668,6 +665,10 @@ fail: error = ENODEV; break; } + + if (free_path_on_return != 0) + xpt_free_path(path); + return (error); } |