diff options
author | David Gwynne <dlg@cvs.openbsd.org> | 2010-09-14 04:49:43 +0000 |
---|---|---|
committer | David Gwynne <dlg@cvs.openbsd.org> | 2010-09-14 04:49:43 +0000 |
commit | 3e3a495f59b2e187373c037de092cb58c3ba82c8 (patch) | |
tree | 6c5311b17e48eeb589e4ae569772529ddde52938 | |
parent | f27778f03e1895835fb85a67ae60f1b4aff6f431 (diff) |
dont leak an xs in ststart if its called while the device is dying.
pointed out by matthew@
-rw-r--r-- | sys/scsi/st.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/scsi/st.c b/sys/scsi/st.c index 3b5210a7c34..ac39c9c1949 100644 --- a/sys/scsi/st.c +++ b/sys/scsi/st.c @@ -1,4 +1,4 @@ -/* $OpenBSD: st.c,v 1.111 2010/09/14 04:02:43 dlg Exp $ */ +/* $OpenBSD: st.c,v 1.112 2010/09/14 04:49:42 dlg Exp $ */ /* $NetBSD: st.c,v 1.71 1997/02/21 23:03:49 thorpej Exp $ */ /* @@ -912,8 +912,10 @@ ststart(struct scsi_xfer *xs) SC_DEBUG(sc_link, SDEV_DB2, ("ststart\n")); - if (st->flags & ST_DYING) + if (st->flags & ST_DYING) { + scsi_xs_put(xs); return; + } /* * if the device has been unmounted by the user |