Re: [PATCH 19/22] block: DAC960: shut up format-overflow warning
From: Jens Axboe <axboe@fb.com>
Date: 2017-07-14 14:05:40
Also in:
linux-scsi, lkml
From: Jens Axboe <axboe@fb.com>
Date: 2017-07-14 14:05:40
Also in:
linux-scsi, lkml
On 07/14/2017 06:07 AM, Arnd Bergmann wrote:
gcc-7 points out that a large controller number would overflow the string length for the procfs name and the firmware version string: drivers/block/DAC960.c: In function 'DAC960_Probe': drivers/block/DAC960.c:6591:38: warning: 'sprintf' may write a terminating nul past the end of the destination [-Wformat-overflow=] drivers/block/DAC960.c: In function 'DAC960_V1_ReadControllerConfiguration': drivers/block/DAC960.c:1681:40: error: '%02d' directive writing between 2 and 3 bytes into a region of size between 2 and 5 [-Werror=format-overflow=] drivers/block/DAC960.c:1681:40: note: directive argument in the range [0, 255] drivers/block/DAC960.c:1681:3: note: 'sprintf' output between 10 and 14 bytes into a destination of size 12 Both of these seem appropriately sized, and using snprintf() instead of sprintf() improves this by ensuring that even incorrect data won't cause undefined behavior here.
Thanks Arnd, added for 4.14. -- Jens Axboe