net: irda: set error code on failures
authorPan Bian <bianpan2016@163.com>
Sun, 4 Dec 2016 05:27:40 +0000 (13:27 +0800)
committerDavid S. Miller <davem@davemloft.net>
Mon, 5 Dec 2016 19:53:08 +0000 (14:53 -0500)
When the calls to kzalloc() fail, the value of return variable ret may
be 0. 0 means success in this context. This patch fixes the bug,
assigning "-ENOMEM" to ret before calling kzalloc().

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=188971

Signed-off-by: Pan Bian <bianpan2016@163.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/irda/irda-usb.c

index a198946bc54fda6ce8df93c2d4c12b22d32eb117..8716b8c07febf5669b5fe21d78f1b68b4d10ea3f 100644 (file)
@@ -1723,6 +1723,7 @@ static int irda_usb_probe(struct usb_interface *intf,
        /* Don't change this buffer size and allocation without doing
         * some heavy and complete testing. Don't ask why :-(
         * Jean II */
+       ret = -ENOMEM;
        self->speed_buff = kzalloc(IRDA_USB_SPEED_MTU, GFP_KERNEL);
        if (!self->speed_buff)
                goto err_out_3;