strncpy could leave the rtc_name buffer not nul-terminated, strlcpy will
always nul-terminate the dst buffer.
Also replace the hardcoded size with sizeof(rtc_name)

Signed-off-by: Jules Maselbas <[email protected]>
---
 commands/hwclock.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/commands/hwclock.c b/commands/hwclock.c
index c594e070ac..33829e4118 100644
--- a/commands/hwclock.c
+++ b/commands/hwclock.c
@@ -95,7 +95,7 @@ static int do_hwclock(int argc, char *argv[])
 
                switch (opt) {
                case 'f':
-                       strncpy(rtc_name, optarg, 16);
+                       strlcpy(rtc_name, optarg, sizeof(rtc_name));
                        break;
                case 's':
                        memset(&stm, 0, sizeof(stm));
-- 
2.48.1


Reply via email to