Message ID | 20221031132110.65847-1-wangxiongfeng2@huawei.com |
---|---|
State | New |
Headers | show |
Series | [1/2] tools/thermal: tmon: fix build warning caused by misusing strncpy() | expand |
diff --git a/tools/thermal/tmon/tmon.c b/tools/thermal/tmon/tmon.c index 7eb3216a27f4..537a7a47f401 100644 --- a/tools/thermal/tmon/tmon.c +++ b/tools/thermal/tmon/tmon.c @@ -230,7 +230,8 @@ int main(int argc, char **argv) switch (c) { case 'c': no_control = 0; - strncpy(ctrl_cdev, optarg, CDEV_NAME_SIZE); + strncpy(ctrl_cdev, optarg, CDEV_NAME_SIZE - 1); + ctrl_cdev[CDEV_NAME_SIZE - 1] = '\0'; break; case 'd': start_daemon_mode();
Building tool tmon emits the following warning. tmon.c: In function ‘main’: tmon.c:233:4: warning: ‘strncpy’ specified bound 20 equals destination size [-Wstringop-truncation] 233 | strncpy(ctrl_cdev, optarg, CDEV_NAME_SIZE); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ If the third parameter 'count' of strncpy() equals destination size, we can not guarantee the dest string is NULL terminated. The dest string 'ctrl_cdev' will be used as the input of strstr(). Let's minus the copy count by one and force the dest string NULL terminated. Fixes: 94f69966faf8 ("tools/thermal: Introduce tmon, a tool for thermal subsystem") Signed-off-by: Xiongfeng Wang <wangxiongfeng2@huawei.com> --- tools/thermal/tmon/tmon.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)