Commit 604b8e75 authored by Azeem Shaikh's avatar Azeem Shaikh Committed by Jarkko Sakkinen

KEYS: Replace all non-returning strlcpy with strscpy

strlcpy() reads the entire source buffer first.
This read may exceed the destination size limit.
This is both inefficient and can lead to linear read
overflows if a source string is not NUL-terminated [1].
In an effort to remove strlcpy() completely [2], replace
strlcpy() here with strscpy().
No return values were used, so direct replacement is safe.

[1] https://www.kernel.org/doc/html/latest/process/deprecated.html#strlcpy
[2] https://github.com/KSPP/linux/issues/89Signed-off-by: default avatarAzeem Shaikh <azeemshaikh38@gmail.com>
Reviewed-by: default avatarJarkko Sakkinen <jarkko@kernel.org>
Signed-off-by: default avatarJarkko Sakkinen <jarkko@kernel.org>
parent 44e69ea5
...@@ -178,7 +178,7 @@ struct key *request_key_auth_new(struct key *target, const char *op, ...@@ -178,7 +178,7 @@ struct key *request_key_auth_new(struct key *target, const char *op,
if (!rka->callout_info) if (!rka->callout_info)
goto error_free_rka; goto error_free_rka;
rka->callout_len = callout_len; rka->callout_len = callout_len;
strlcpy(rka->op, op, sizeof(rka->op)); strscpy(rka->op, op, sizeof(rka->op));
/* see if the calling process is already servicing the key request of /* see if the calling process is already servicing the key request of
* another process */ * another process */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment