• Arnd Bergmann's avatar
    kalmia: avoid potential uninitialized variable use · e30520c2
    Arnd Bergmann authored
    The kalmia_send_init_packet() returns zero or a negative return
    code, but gcc has no way of knowing that there cannot be a
    positive return code, so it determines that copying the ethernet
    address at the end of kalmia_bind() will access uninitialized
    data:
    
    drivers/net/usb/kalmia.c: In function ‘kalmia_bind’:
    arch/x86/include/asm/string_32.h:78:22: error: ‘*((void *)&ethernet_addr+4)’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
       *((short *)to + 2) = *((short *)from + 2);
                          ^
    drivers/net/usb/kalmia.c:138:5: note: ‘*((void *)&ethernet_addr+4)’ was declared here
    
    This warning is harmless, but for consistency, we should make
    the check for the return code match what the driver does everywhere
    else and just progate it, which then gets rid of the warning.
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    e30520c2
kalmia.c 9.87 KB