kernel: Fix two NULL dereference issues.
authorSascha Wildner <saw@online.de>
Sat, 31 Dec 2011 03:38:52 +0000 (04:38 +0100)
committerSascha Wildner <saw@online.de>
Sat, 31 Dec 2011 03:39:28 +0000 (04:39 +0100)
sys/bus/usb/usbdi.c
sys/netgraph/tty/ng_tty.c

index 4118455..3b31f33 100644 (file)
@@ -1,6 +1,5 @@
 /*     $NetBSD: usbdi.c,v 1.106 2004/10/24 12:52:40 augustss Exp $     */
 /*     $FreeBSD: src/sys/dev/usb/usbdi.c,v 1.91.2.1 2005/12/15 00:36:00 iedowse Exp $  */
-/*     $DragonFly: src/sys/bus/usb/usbdi.c,v 1.18 2007/06/29 22:56:31 hasso Exp $      */
 
 /*
  * Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -771,7 +770,7 @@ usb_transfer_complete(usbd_xfer_handle xfer)
        int sync = xfer->flags & USBD_SYNCHRONOUS;
        int erred = xfer->status == USBD_CANCELLED ||
            xfer->status == USBD_TIMEOUT;
-       int repeat = pipe->repeat;
+       int repeat;
        int polling;
 
        DPRINTFN(5, ("usb_transfer_complete: pipe=%p xfer=%p status=%d "
@@ -790,6 +789,7 @@ usb_transfer_complete(usbd_xfer_handle xfer)
                return;
        }
 #endif
+       repeat = pipe->repeat;
        polling = pipe->device->bus->use_polling;
        /* XXXX */
        if (polling)
index c34e130..5b18de5 100644 (file)
@@ -344,7 +344,7 @@ static int
 ngt_input(int c, struct tty *tp)
 {
        const sc_p sc = (sc_p) tp->t_sc;
-       const node_p node = sc->node;
+       const node_p node = sc ? sc->node : NULL;
        struct mbuf *m;
        int error = 0;