diff mbox series

[v2,09/21] ata: libata-eh: Fix compilation warning in ata_eh_link_report()

Message ID 20230912005655.368075-10-dlemoal@kernel.org (mailing list archive)
State Superseded
Headers show
Series Fix libata suspend/resume handling and code cleanup | expand

Commit Message

Damien Le Moal Sept. 12, 2023, 12:56 a.m. UTC
The 6 bytes length of the tries_buf string in ata_eh_link_report() is
too short and results in a gcc compilation warning with W-!:

drivers/ata/libata-eh.c: In function ‘ata_eh_link_report’:
drivers/ata/libata-eh.c:2371:59: warning: ‘%d’ directive output may be truncated writing between 1 and 11 bytes into a region of size 4 [-Wformat-truncation=]
 2371 |                 snprintf(tries_buf, sizeof(tries_buf), " t%d",
      |                                                           ^~
drivers/ata/libata-eh.c:2371:56: note: directive argument in the range [-2147483648, 4]
 2371 |                 snprintf(tries_buf, sizeof(tries_buf), " t%d",
      |                                                        ^~~~~~
drivers/ata/libata-eh.c:2371:17: note: ‘snprintf’ output between 4 and 14 bytes into a destination of size 6
 2371 |                 snprintf(tries_buf, sizeof(tries_buf), " t%d",
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 2372 |                          ap->eh_tries);
      |                          ~~~~~~~~~~~~~

Avoid this warning by increasing the string size to 16B.

Signed-off-by: Damien Le Moal <dlemoal@kernel.org>
---
 drivers/ata/libata-eh.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Hannes Reinecke Sept. 12, 2023, 6:14 a.m. UTC | #1
On 9/12/23 02:56, Damien Le Moal wrote:
> The 6 bytes length of the tries_buf string in ata_eh_link_report() is
> too short and results in a gcc compilation warning with W-!:
> 
> drivers/ata/libata-eh.c: In function ‘ata_eh_link_report’:
> drivers/ata/libata-eh.c:2371:59: warning: ‘%d’ directive output may be truncated writing between 1 and 11 bytes into a region of size 4 [-Wformat-truncation=]
>   2371 |                 snprintf(tries_buf, sizeof(tries_buf), " t%d",
>        |                                                           ^~
> drivers/ata/libata-eh.c:2371:56: note: directive argument in the range [-2147483648, 4]
>   2371 |                 snprintf(tries_buf, sizeof(tries_buf), " t%d",
>        |                                                        ^~~~~~
> drivers/ata/libata-eh.c:2371:17: note: ‘snprintf’ output between 4 and 14 bytes into a destination of size 6
>   2371 |                 snprintf(tries_buf, sizeof(tries_buf), " t%d",
>        |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>   2372 |                          ap->eh_tries);
>        |                          ~~~~~~~~~~~~~
> 
> Avoid this warning by increasing the string size to 16B.
> 
> Signed-off-by: Damien Le Moal <dlemoal@kernel.org>
> ---
>   drivers/ata/libata-eh.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/ata/libata-eh.c b/drivers/ata/libata-eh.c
> index 43b0a1509548..03c45630a35b 100644
> --- a/drivers/ata/libata-eh.c
> +++ b/drivers/ata/libata-eh.c
> @@ -2332,7 +2332,7 @@ static void ata_eh_link_report(struct ata_link *link)
>   	struct ata_eh_context *ehc = &link->eh_context;
>   	struct ata_queued_cmd *qc;
>   	const char *frozen, *desc;
> -	char tries_buf[6] = "";
> +	char tries_buf[16] = "";
>   	int tag, nr_failed = 0;
>   
>   	if (ehc->i.flags & ATA_EHI_QUIET)

Reviewed-by: Hannes Reinecke <hare@suse.de>

Cheers,

Hannes
diff mbox series

Patch

diff --git a/drivers/ata/libata-eh.c b/drivers/ata/libata-eh.c
index 43b0a1509548..03c45630a35b 100644
--- a/drivers/ata/libata-eh.c
+++ b/drivers/ata/libata-eh.c
@@ -2332,7 +2332,7 @@  static void ata_eh_link_report(struct ata_link *link)
 	struct ata_eh_context *ehc = &link->eh_context;
 	struct ata_queued_cmd *qc;
 	const char *frozen, *desc;
-	char tries_buf[6] = "";
+	char tries_buf[16] = "";
 	int tag, nr_failed = 0;
 
 	if (ehc->i.flags & ATA_EHI_QUIET)