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
This commit is contained in:
parent
ebc2f37754
commit
1f12a67942
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user