• Arnd Bergmann's avatar
    liquidio: fix possible eeprom format string overflow · 56c0da49
    Arnd Bergmann authored
    gcc reports that the temporary buffer for computing the
    string length may be too small here:
    
    drivers/net/ethernet/cavium/liquidio/lio_ethtool.c: In function 'lio_get_eeprom_len':
    /drivers/net/ethernet/cavium/liquidio/lio_ethtool.c:345:21: error: 'sprintf' may write a terminating nul past the end of the destination [-Werror=format-overflow=]
      len = sprintf(buf, "boardname:%s serialnum:%s maj:%lld min:%lld\n",
                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    drivers/net/ethernet/cavium/liquidio/lio_ethtool.c:345:6: note: 'sprintf' output between 35 and 167 bytes into a destination of size 128
      len = sprintf(buf, "boardname:%s serialnum:%s maj:%lld min:%lld\n",
    
    This extends it to 192 bytes, which is certainly enough. As far
    as I could tell, there are no other constraints that require a specific
    maximum size.
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    56c0da49
lio_ethtool.c 75.9 KB