2019-05-27 18:10:06

by Gustavo A. R. Silva

[permalink] [raw]
Subject: [PATCH] unicode: replace strncpy() by strscpy()

The strncpy() function is being deprecated. Replace it by the safer
strscpy() and fix the following Coverity warning:

"Calling strncpy with a maximum size argument of 12 bytes on destination
array version_string of size 12 bytes might leave the destination string
unterminated."

Notice that, unlike strncpy(), strscpy() always null-terminates the
destination string.

Addresses-Coverity-ID: 1445547 ("Buffer not null terminated")
Signed-off-by: Gustavo A. R. Silva <[email protected]>
---
fs/unicode/utf8-core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/unicode/utf8-core.c b/fs/unicode/utf8-core.c
index 6afab4fdce90..a367041468cf 100644
--- a/fs/unicode/utf8-core.c
+++ b/fs/unicode/utf8-core.c
@@ -131,7 +131,7 @@ static int utf8_parse_version(const char *version, unsigned int *maj,
{0, NULL}
};

- strncpy(version_string, version, sizeof(version_string));
+ strscpy(version_string, version, sizeof(version_string));

if (match_token(version_string, token, args) != 1)
return -EINVAL;
--
2.21.0


2019-05-28 17:50:49

by Gabriel Krisman Bertazi

[permalink] [raw]
Subject: Re: [PATCH] unicode: replace strncpy() by strscpy()

"Gustavo A. R. Silva" <[email protected]> writes:

> The strncpy() function is being deprecated. Replace it by the safer
> strscpy() and fix the following Coverity warning:
>
> "Calling strncpy with a maximum size argument of 12 bytes on destination
> array version_string of size 12 bytes might leave the destination string
> unterminated."
>
> Notice that, unlike strncpy(), strscpy() always null-terminates the
> destination string.
>

Thanks, I'll get this queued up.

--
Gabriel Krisman Bertazi