Skip to content
  • Oliver Neukum's avatar
    usbnet: make sure no NULL pointer is passed through · 6c22fce0
    Oliver Neukum authored
    
    
    Coverity reports:
    
    ** CID 751368:  Null pointer dereferences  (FORWARD_NULL)
    /drivers/net/usb/usbnet.c: 1925 in __usbnet_read_cmd()
    
    ________________________________________________________________________________________________________
    *** CID 751368:  Null pointer dereferences  (FORWARD_NULL)
    /drivers/net/usb/usbnet.c: 1925 in __usbnet_read_cmd()
    1919     EXPORT_SYMBOL(usbnet_link_change);
    1920
    1921     /*-------------------------------------------------------------------------*/
    1922     static int __usbnet_read_cmd(struct usbnet *dev, u8 cmd, u8 reqtype,
    1923                                 u16 value, u16 index, void *data, u16 size)
    1924     {
    >>>     CID 751368:  Null pointer dereferences  (FORWARD_NULL)
    >>>     Assigning: "buf" = "NULL".
    1925            void *buf = NULL;
    1926            int err = -ENOMEM;
    1927
    1928            netdev_dbg(dev->net, "usbnet_read_cmd cmd=0x%02x reqtype=%02x"
    1929                       " value=0x%04x index=0x%04x size=%d\n",
    1930                       cmd, reqtype, value, index, size);
    
    ** CID 751370:  Null pointer dereferences  (FORWARD_NULL)
    /drivers/net/usb/usbnet.c: 1952 in __usbnet_write_cmd()
    
    ________________________________________________________________________________________________________
    *** CID 751370:  Null pointer dereferences  (FORWARD_NULL)
    /drivers/net/usb/usbnet.c: 1952 in __usbnet_write_cmd()
    1946     }
    1947
    1948     static int __usbnet_write_cmd(struct usbnet *dev, u8 cmd, u8 reqtype,
    1949                                  u16 value, u16 index, const void *data,
    1950                                  u16 size)
    1951     {
    >>>     CID 751370:  Null pointer dereferences  (FORWARD_NULL)
    >>>     Assigning: "buf" = "NULL".
    1952            void *buf = NULL;
    1953            int err = -ENOMEM;
    1954
    1955            netdev_dbg(dev->net, "usbnet_write_cmd cmd=0x%02x reqtype=%02x"
    1956                       " value=0x%04x index=0x%04x size=%d\n",
    1957                       cmd, reqtype, value, index, size);
    
    ** CID 1325026:  Null pointer dereferences  (FORWARD_NULL)
    /drivers/net/usb/ch9200.c: 143 in control_write()
    
    It is valid to offer commands without a buffer, but then you need a size
    of zero. This should actually be checked.
    
    Signed-off-by: default avatarOliver Neukum <oneukum@suse.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    6c22fce0