bcache-tools: fix strncpy compiler warning in replace_line()
The strncpy() call in replace_line() was using strlen(src) as the size
parameter instead of the destination buffer size, causing a compiler
warning about potential string truncation. use snprintf() instead.
Signed-off-by: Shaoxiong Li <dahefanteng@gmail.com>
Signed-off-by: Coly Li <colyli@kernel.org>
diff --git a/bcache.c b/bcache.c
index f99d2dc..47d45e9 100644
--- a/bcache.c
+++ b/bcache.c
@@ -142,7 +142,7 @@
return EXIT_FAILURE;
}
-int version_usagee(void)
+int version_usage(void)
{
fprintf(stderr,
"Usage: version display software version\n");
@@ -157,7 +157,7 @@
strcpy(sub, *dest);
while (1) {
- char *tmp = strpbrk(sub, from);
+ char *tmp = strstr(sub, from);
if (tmp != NULL) {
strcpy(new, tmp);
@@ -166,7 +166,7 @@
break;
}
if (strlen(new) > 0) {
- strncpy(new, to, strlen(to));
+ snprintf(new, sizeof(new), "%s", to);
sprintf(*dest + strlen(*dest) - strlen(new), new, strlen(new));
}
}
@@ -453,7 +453,7 @@
return set_label(devname, argv[2]);
} else if (strcmp(subcmd, "version") == 0) {
if (argc != 1)
- return version_usagee();
+ return version_usage();
printf("bcache-tools %s\n", BCACHE_TOOLS_VERSION);
return 0;