ChangeSet 1.1094.6.12, 2003/03/14 12:05:46-08:00, [EMAIL PROTECTED]

[PATCH] USB: memleak in Edgeport USB Serial Converter driver


 drivers/usb/serial/io_ti.c |   14 ++++++++++++--
 1 files changed, 12 insertions(+), 2 deletions(-)


diff -Nru a/drivers/usb/serial/io_ti.c b/drivers/usb/serial/io_ti.c
--- a/drivers/usb/serial/io_ti.c        Mon Mar 17 11:46:08 2003
+++ b/drivers/usb/serial/io_ti.c        Mon Mar 17 11:46:08 2003
@@ -468,7 +468,7 @@
 {
        int status;
        struct out_endpoint_desc_block *oedb;
-       __u8 lsr;
+       __u8 *lsr;
        int bytes_left = 0;
 
        oedb = kmalloc (sizeof (* oedb), GFP_KERNEL);
@@ -477,6 +477,13 @@
                return -ENOMEM;
        }
 
+       lsr = kmalloc (1, GFP_KERNEL);  /* Sigh, that's right, just one byte,
+                                          as not all platforms can do DMA
+                                          from stack */
+       if (!lsr) {
+               kfree(oedb);
+               return -ENOMEM;
+       }
        /* Read the DMA Count Registers */
        status = TIReadRam (port->port->serial->dev,
                            port->dma_address,
@@ -492,7 +499,7 @@
        status = TIReadRam (port->port->serial->dev, 
                            port->uart_base + UMPMEM_OFFS_UART_LSR,
                            1,
-                           &lsr);
+                           lsr);
 
        if (status)
                goto exit_is_tx_active;
@@ -508,6 +515,9 @@
        /* We return Not Active if we get any kind of error */
 exit_is_tx_active:
        dbg ("%s - return %d", __FUNCTION__, bytes_left );
+
+       kfree(lsr);
+       kfree(oedb);
        return bytes_left;
 }
 



-------------------------------------------------------
This SF.net email is sponsored by:Crypto Challenge is now open! 
Get cracking and register here for some mind boggling fun and 
the chance of winning an Apple iPod:
http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0031en
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to