diff options
author | Niklas Hallqvist <niklas@cvs.openbsd.org> | 2000-02-13 11:23:16 +0000 |
---|---|---|
committer | Niklas Hallqvist <niklas@cvs.openbsd.org> | 2000-02-13 11:23:16 +0000 |
commit | a4fd1a6147ce5788e91e16d857b06fd334068915 (patch) | |
tree | 43619ed45c7d635dc9dab9e03a1225dc5463800f | |
parent | 42d2bc1575cab2122d474d8ed00c3f6a767af83c (diff) |
Handle out-of-bounds errors correctly
-rw-r--r-- | sys/dev/ic/gdt_common.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/dev/ic/gdt_common.c b/sys/dev/ic/gdt_common.c index 58ff4f729cd..b18c608854d 100644 --- a/sys/dev/ic/gdt_common.c +++ b/sys/dev/ic/gdt_common.c @@ -1,4 +1,4 @@ -/* $OpenBSD: gdt_common.c,v 1.3 2000/02/13 10:56:41 niklas Exp $ */ +/* $OpenBSD: gdt_common.c,v 1.4 2000/02/13 11:23:15 niklas Exp $ */ /* * Copyright (c) 1999, 2000 Niklas Hallqvist. All rights reserved. @@ -555,9 +555,11 @@ gdt_scsi_cmd(xs) } if (blockno >= gdt->sc_hdr[target].hd_size || blockno + blockcnt > gdt->sc_hdr[target].hd_size) { + GDT_UNLOCK_GDT(gdt); printf("%s: out of bounds %u-%u >= %u\n", gdt->sc_dev.dv_xname, blockno, blockcnt, gdt->sc_hdr[target].hd_size); + scsi_done(xs); xs->error = XS_DRIVER_STUFFUP; return (COMPLETE); } |