lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date:   Sun,  8 Oct 2023 09:47:52 +0800
From:   Su Hui <suhui@...china.com>
To:     unlisted-recipients:; (no To-header on input)
Cc:     Su Hui <suhui@...china.com>, tj@...nel.org, josef@...icpanda.com,
        axboe@...nel.dk, cgroups@...r.kernel.org,
        linux-block@...r.kernel.org, linux-kernel@...r.kernel.org,
        kernel-janitors@...r.kernel.org
Subject: [PATCH] blk-throttle: silence truncated string warning

using gcc and w=1, there are some warnings like these:

block/blk-throttle.c:1531:53: error:
‘snprintf’ output may be truncated before the last format character
[-Werror=format-truncation=]
 1531 |    snprintf(idle_time, sizeof(idle_time), " idle=%lu",
      |                                                     ^
block/blk-throttle.c:1531:4: note: ‘snprintf’ output between 8 and 27 bytes
into a destination of size 26
 1531 |    snprintf(idle_time, sizeof(idle_time), " idle=%lu",
      |    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1532 |     tg->idletime_threshold_conf);
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
block/blk-throttle.c:1538:15: error:
‘%lu’ directive output may be truncated writing between 1 and 20 bytes
into a region of size 17 [-Werror=format-truncation=]
 1538 |     " latency=%lu", tg->latency_target_conf);
      |               ^~~

"%lu" can up to 21, so string " idle=%lu" can up to 27. But 'idle_time'
only has 26 Bytes. It's same for 'latency_time' whose size should be 30
rather than 26 because string " latency=%lu" can up to 30.

Signed-off-by: Su Hui <suhui@...china.com>
---
 block/blk-throttle.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/block/blk-throttle.c b/block/blk-throttle.c
index 38a881cf97d0..dfc5c0d3d9c1 100644
--- a/block/blk-throttle.c
+++ b/block/blk-throttle.c
@@ -1489,8 +1489,8 @@ static u64 tg_prfill_limit(struct seq_file *sf, struct blkg_policy_data *pd,
 	char bufs[4][21] = { "max", "max", "max", "max" };
 	u64 bps_dft;
 	unsigned int iops_dft;
-	char idle_time[26] = "";
-	char latency_time[26] = "";
+	char idle_time[27] = "";
+	char latency_time[30] = "";
 
 	if (!dname)
 		return 0;
-- 
2.30.2

Powered by blists - more mailing lists