From 1f12a67942d99d22e7100db5c60938657664be6d Mon Sep 17 00:00:00 2001 From: Don Lewis Date: Thu, 12 May 2016 08:41:22 +0000 Subject: [PATCH] Use strlcpy() instead of strncpy() when copying the encoding value to ensure that the destination is NUL terminated. Length truncation of one more character should not be an issue since encoding values that long are not supported by libc. The destination string is treated as a NUL terminated string, but it is only passed to strcmp() for comparison to a set of shorter, fixed length strings, so this is not a serious problem. Reported by: Coverity CID: 974769 MFC after: 1 week --- usr.bin/mklocale/yacc.y | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/usr.bin/mklocale/yacc.y b/usr.bin/mklocale/yacc.y index c5304c9ef032..01f9f493a663 100644 --- a/usr.bin/mklocale/yacc.y +++ b/usr.bin/mklocale/yacc.y @@ -123,7 +123,7 @@ entry : ENCODING STRING strcmp($2, "BIG5") && strcmp($2, "MSKanji")) warnx("ENCODING %s is not supported by libc", $2); - strncpy(new_locale.encoding, $2, + strlcpy(new_locale.encoding, $2, sizeof(new_locale.encoding)); } | VARIABLE { new_locale.variable_len = strlen($1) + 1;